diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,5 +1,32 @@
 # Changelog for `proto-lens`
 
+## v0.5.0.0
+
+### Breaking Changes
+- Merge the `lens-labels` library into `proto-lens`:
+    - `Lens.Labels` => `Data.ProtoLens.Fields`
+    - `Lens.Labels.Unwrapped` => `Data.ProtoLens.Labels`
+    - `Lens.Labels.Prism` => `Data.ProtoLens.Prism`
+- Simplify the API of `Data.ProtoLens.Encoding.Wire`, using a plain ADT
+  rather than a GADT to represent unknown field values.
+- If fields have the wrong wire type, store them in `unknownFields` rather
+  than failing the parse. (#125)
+
+### Backwards-Compatible Changes
+- Merge proto-lens-combinators into the proto-lens library.
+- Use generated Haskell code to encode/decode proto messages more quickly.
+  In particular:
+  - Add the methods `parseMessage` and `buildMessage` to `Data.ProtoLens.Message`
+  - Expose an opaque `Parser` monad, which is used by the generated
+    code.
+  - Expose the module `Data.ProtoLens.Encoding.Bytes`, which is used
+    by the generated code.
+  - Various other, related performance optimizations.
+- Add functionality for storing unknown fields as `Vector`s.  (See the
+  changelog of `proto-lens-protoc` for more details.)  Exposes the
+  `Growing` type for mutable vectors of growing capacity.
+- Export the new function `parseMessageDelimited`. (#61)
+
 ## v0.4.0.1
 - Bump the dependencies on `base` and `containers` to `0.4.0.1`.
 
diff --git a/proto-lens.cabal b/proto-lens.cabal
--- a/proto-lens.cabal
+++ b/proto-lens.cabal
@@ -1,11 +1,13 @@
--- This file has been generated from package.yaml by hpack version 0.28.2.
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.31.1.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 4f92a795e1d923f48abe676c6c1e012d63d6ee27875f160ef0f14dd0f3710ba6
+-- hash: b65e668c793e451c25341ac7d0d137ca534c8388cc6417c3119fc6cb5122e638
 
 name:           proto-lens
-version:        0.4.0.1
+version:        0.5.0.0
 synopsis:       A lens-based implementation of protocol buffers in Haskell.
 description:    The proto-lens library provides an API for protocol buffers using modern Haskell language and library patterns.  Specifically, it provides:
                 .
@@ -23,12 +25,11 @@
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
-cabal-version:  >= 1.10
 extra-source-files:
     Changelog.md
 data-files:
-    proto-lens-imports/google/protobuf/compiler/plugin.proto
     proto-lens-imports/google/protobuf/descriptor.proto
+    proto-lens-imports/google/protobuf/compiler/plugin.proto
 
 source-repository head
   type: git
@@ -38,11 +39,19 @@
 library
   exposed-modules:
       Data.ProtoLens
+      Data.ProtoLens.Combinators
       Data.ProtoLens.Default
       Data.ProtoLens.Encoding
+      Data.ProtoLens.Encoding.Bytes
+      Data.ProtoLens.Encoding.Growing
+      Data.ProtoLens.Encoding.Parser
+      Data.ProtoLens.Encoding.Parser.Unsafe
       Data.ProtoLens.Encoding.Wire
+      Data.ProtoLens.Field
+      Data.ProtoLens.Labels
       Data.ProtoLens.Message
       Data.ProtoLens.Message.Enum
+      Data.ProtoLens.Prism
       Data.ProtoLens.Service.Types
       Data.ProtoLens.TextFormat
       Proto.Google.Protobuf.Compiler.Plugin
@@ -50,21 +59,56 @@
       Proto.Google.Protobuf.Descriptor
       Proto.Google.Protobuf.Descriptor_Fields
   other-modules:
-      Data.ProtoLens.Encoding.Bytes
+      Data.ProtoLens.Encoding.Parser.Internal
       Data.ProtoLens.TextFormat.Parser
   hs-source-dirs:
       src
   build-depends:
-      attoparsec ==0.13.*
-    , base >=4.9 && <4.13
+      base >=4.9 && <4.13
     , bytestring ==0.10.*
     , containers >=0.5 && <0.7
     , deepseq ==1.4.*
+    , ghc-prim >=0.4 && <0.6
     , lens-family ==1.2.*
-    , lens-labels ==0.3.*
     , parsec ==3.1.*
     , pretty ==1.1.*
+    , primitive ==0.6.*
+    , profunctors >=5.2 && <5.4
+    , tagged ==0.8.*
     , text ==1.2.*
     , transformers >=0.4 && <0.6
+    , vector >=0.11 && <0.13
     , void ==0.7.*
+  default-language: Haskell2010
+
+test-suite growing_test
+  type: exitcode-stdio-1.0
+  main-is: growing_test.hs
+  other-modules:
+      Paths_proto_lens
+  hs-source-dirs:
+      tests
+  build-depends:
+      QuickCheck
+    , base
+    , proto-lens
+    , test-framework
+    , test-framework-quickcheck2
+    , vector
+  default-language: Haskell2010
+
+test-suite parser_test
+  type: exitcode-stdio-1.0
+  main-is: parser_test.hs
+  other-modules:
+      Paths_proto_lens
+  hs-source-dirs:
+      tests
+  build-depends:
+      QuickCheck
+    , base
+    , bytestring
+    , proto-lens
+    , test-framework
+    , test-framework-quickcheck2
   default-language: Haskell2010
diff --git a/src/Data/ProtoLens/Combinators.hs b/src/Data/ProtoLens/Combinators.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Combinators.hs
@@ -0,0 +1,47 @@
+-- Copyright 2016 Google Inc. All Rights Reserved.
+--
+-- Use of this source code is governed by a BSD-style
+-- license that can be found in the LICENSE file or at
+-- https://developers.google.com/open-source/licenses/bsd
+
+{-# LANGUAGE RankNTypes #-}
+-- | An assorted collection of functions useful when working with ProtoLens
+-- protocol buffers.  These functions are inspired by functionality found in
+-- the protobuf implementation in other languages.
+module Data.ProtoLens.Combinators
+    ( has
+    , clear
+    , make
+    , modifyInState
+    ) where
+
+import Control.Monad.Trans.State (State, execState)
+import Data.ProtoLens (Message(..))
+import Data.Maybe (isJust)
+import Lens.Family2 (LensLike, Phantom, Setter, to, (.~))
+
+-- | Turns a 'LensLike' getting a 'Maybe' into a 'Getter' of a 'Bool'
+-- that returns @True@ when the 'Maybe' is @Just@ something.
+--
+-- I.e., makes a getter for a 'Maybe' field that returns whether it's set.
+has :: Phantom f => LensLike f a a' (Maybe b) b' -> LensLike f a a' Bool b''
+has = (. to isJust)
+
+-- | Sets the provided lens in @a@ to @Nothing@.
+clear :: Setter a a' b (Maybe b') -> a -> a'
+clear = (.~ Nothing)
+
+-- | Creates a 'Default' and then applies the provided `State` to it.  This is
+-- convenient for creating complicated structures.
+make :: Message msg => State msg a -> msg
+make = modifyInState defMessage
+
+-- | Allows one to modify a value in the 'State' monad.  Note that this is
+-- just for syntactic convenience with @do@ blocks, e.g.
+--
+-- @
+--    newThing = modifyInState thing $ do
+--        ...
+-- @
+modifyInState :: s -> State s a -> s
+modifyInState = flip execState
diff --git a/src/Data/ProtoLens/Encoding.hs b/src/Data/ProtoLens/Encoding.hs
--- a/src/Data/ProtoLens/Encoding.hs
+++ b/src/Data/ProtoLens/Encoding.hs
@@ -1,83 +1,25 @@
--- Copyright 2016 Google Inc. All Rights Reserved.
---
--- Use of this source code is governed by a BSD-style
--- license that can be found in the LICENSE file or at
--- https://developers.google.com/open-source/licenses/bsd
-
--- | Functions for encoding and decoding protocol buffer Messages.
---
--- TODO: Currently all operations are on strict ByteStrings;
--- we should try to generalize to lazy Bytestrings as well.
-{-# LANGUAGE BangPatterns #-}
-{-# LANGUAGE GADTs #-}
-{-# LANGUAGE LambdaCase #-}
-{-# LANGUAGE PatternGuards #-}
-{-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TypeApplications #-}
-module Data.ProtoLens.Encoding(
+module Data.ProtoLens.Encoding (
     encodeMessage,
     buildMessage,
-    buildMessageDelimited,
     decodeMessage,
+    parseMessage,
     decodeMessageOrDie,
+    -- ** Delimited messages
+    buildMessageDelimited,
+    parseMessageDelimited,
     ) where
 
-import Data.ProtoLens.Message
-import Data.ProtoLens.Encoding.Bytes
-import Data.ProtoLens.Encoding.Wire
+import Data.ProtoLens.Message (Message(..))
+import Data.ProtoLens.Encoding.Bytes (Parser, Builder)
+import qualified Data.ProtoLens.Encoding.Bytes as Bytes
 
-import Control.Applicative ((<|>))
-import Control.Monad (guard)
-import Data.Attoparsec.ByteString as Parse
-import Data.Bool (bool)
-import Data.Monoid ((<>))
-import Data.Proxy (Proxy(Proxy))
-import Data.Text.Encoding (encodeUtf8, decodeUtf8')
-import Data.Text.Encoding.Error (UnicodeException(..))
-import qualified Data.Text as T
 import qualified Data.ByteString as B
-import qualified Data.Map.Strict as Map
-import Data.ByteString.Lazy.Builder as Builder
-import qualified Data.ByteString.Lazy as L
-import Lens.Family2 (Lens', set, over, (^.), (&))
-
--- TODO: We could be more incremental when parsing/encoding length-based fields,
--- rather than forcing the whole thing.  E.g., for encoding we're doing extra
--- allocation by building an intermediate bytestring.
+import Data.Semigroup ((<>))
 
 -- | Decode a message from its wire format.  Returns 'Left' if the decoding
 -- fails.
 decodeMessage :: Message msg => B.ByteString -> Either String msg
-decodeMessage input = parseOnly (parseMessage endOfInput) input
-
--- | Parse a message with the given ending delimiter (which will be EndGroup in
--- the case of a group, and end-of-input otherwise).
-parseMessage :: forall msg . Message msg => Parser () -> Parser msg
-parseMessage end = (Parse.<?> T.unpack (messageName (Proxy @msg))) $ do
-    (msg, unsetFields) <- loop defMessage requiredFields
-    if Map.null unsetFields
-        then return $ over unknownFields reverse
-                    $ reverseRepeatedFields fields msg
-        else fail $ "Missing required fields "
-                        ++ show (map fieldDescriptorName
-                                    $ Map.elems $ unsetFields)
-  where
-    fields = fieldsByTag
-    addUnknown :: TaggedValue -> msg -> msg
-    addUnknown !f = over' unknownFields (f :)
-    requiredFields = Map.filter isRequired fields
-    loop :: msg -> Map.Map Tag (FieldDescriptor msg)
-            -> Parser (msg, Map.Map Tag (FieldDescriptor msg))
-    loop msg unsetFields = ((msg, unsetFields) <$ end)
-                <|> do
-                    tv@(TaggedValue tag _) <- getTaggedValue
-                    case Map.lookup tag fields of
-                        Nothing -> (loop $! addUnknown tv msg) unsetFields
-                        Just field -> do
-                            !msg' <- parseAndAddField msg field tv
-                                      <?> fieldDescriptorName field
-                            loop msg' $! Map.delete tag unsetFields
+decodeMessage = Bytes.runParser parseMessage
 
 -- | Decode a message from its wire format.  Throws an error if the decoding
 -- fails.
@@ -86,90 +28,9 @@
     Left e -> error $ "decodeMessageOrDie: " ++ e
     Right x -> x
 
-runEither :: Either String a -> Parser a
-runEither = either fail return
-
-parseAndAddField :: msg
-                 -> FieldDescriptor msg
-                 -> TaggedValue
-                 -> Parser msg
-parseAndAddField
-    !msg
-    (FieldDescriptor _ typeDescriptor accessor)
-    (TaggedValue tag (WireValue wt val)) = let
-          getSimpleVal = case typeDescriptor of
-                            MessageField GroupType -> do
-                                Equal <- equalWireTypes StartGroup wt
-                                parseMessage (endOfGroup tag)
-                            MessageField MessageType -> do
-                                Equal <- equalWireTypes Lengthy wt
-                                runEither $ decodeMessage val
-                            ScalarField f -> case fieldWireType f of
-                                FieldWireType fieldWt _ get -> do
-                                    Equal <- equalWireTypes fieldWt wt
-                                    runEither $ get val
-          -- Get a block of packed values, reversed.
-          getPackedVals = case typeDescriptor of
-            MessageField _ -> fail "Messages can't be packed"
-            ScalarField f -> case fieldWireType f of
-              FieldWireType fieldWt _ get -> do
-                Equal <- equalWireTypes Lengthy wt
-                let getElt = do
-                          wv <- getWireValue fieldWt
-                          x <- runEither $ get wv
-                          return $! x
-                runEither $ parseOnly (manyReversedTill getElt endOfInput) val
-          in case accessor of
-              PlainField _ f -> do
-                  !x <- getSimpleVal
-                  return $! set f x msg
-              OptionalField f -> do
-                  !x <- getSimpleVal
-                  return $! set f (Just x) msg
-              -- Parse either a packed or unpacked representation,
-              -- depending on how it was encoded.
-              -- Note that if fieldWt is Lengthy (e.g., "string" or
-              -- message) we should always parse it as unpacked.
-              RepeatedField _ f
-                -> (do
-                        !x <- getSimpleVal
-                        return $! over' f (x :) msg)
-                <|> (do
-                        xs <- getPackedVals
-                        return $! over' f (xs ++) msg)
-                <|> fail ("Expected a repeated field wire type but found "
-                            ++ show wt)
-              MapField keyLens valueLens f -> do
-                  entry <- getSimpleVal
-                  let !key = entry ^. keyLens
-                  let !value = entry ^. valueLens
-                  return $! over f
-                      (Map.insert key value)
-                      msg
-
--- | Strict version of 'over' that forces the old value.
--- Helps prevent gross space leaks when modifying a list field.
---
--- In particular, a naive `@over f (x :) y@ keeps the old value of @y@ around
--- in a thunk, because @(:)@ isn't strict in its second argument.  (Similarly
--- for @(++)@.)
-over' :: Lens' a b -> (b -> b) -> a -> a
-over' f g = over f (\(!x) -> g x)
-
--- | Run the parser zero or more times, until the "end" parser succeeds.
--- Returns a list of the parsed elements, in reverse order.
-manyReversedTill :: Parser a -> Parser b -> Parser [a]
-manyReversedTill p end = loop []
-  where
-    loop xs = (end >> return xs) <|> (p >>= \x -> loop (x:xs))
-
 -- | Encode a message to the wire format as a strict 'ByteString'.
 encodeMessage :: Message msg => msg -> B.ByteString
-encodeMessage = L.toStrict . toLazyByteString . buildMessage
-
--- | Encode a message to the wire format, as part of a 'Builder'.
-buildMessage :: Message msg => msg -> Builder
-buildMessage = foldMap putTaggedValue . messageToTaggedValues
+encodeMessage = Bytes.runBuilder . buildMessage
 
 -- | Encode a message to the wire format, prefixed by its size as a VarInt,
 -- as part of a 'Builder'.
@@ -178,113 +39,11 @@
 -- format expected by some protocols.
 buildMessageDelimited :: Message msg => msg -> Builder
 buildMessageDelimited msg =
-  let b = L.toStrict . toLazyByteString $ buildMessage msg in
-    putVarInt (fromIntegral $ B.length b) <> byteString b
-
--- | Encode a message as a sequence of key-value pairs.
-messageToTaggedValues :: Message msg => msg -> [TaggedValue]
-messageToTaggedValues msg =
-    mconcat
-        [ messageFieldToVals tag fieldDescr msg
-        | (tag, fieldDescr) <- Map.toList fieldsByTag
-        ]
-    ++ msg ^. unknownFields
-
-messageFieldToVals :: Tag -> FieldDescriptor a -> a -> [TaggedValue]
-messageFieldToVals tag (FieldDescriptor _ typeDescriptor accessor) msg =
-    let
-        embed src
-            = case typeDescriptor of
-                MessageField MessageType -> [TaggedValue tag $ WireValue Lengthy
-                                                  $ encodeMessage src]
-                MessageField GroupType ->
-                    TaggedValue tag (WireValue StartGroup ())
-                            : messageToTaggedValues src
-                                ++ [TaggedValue tag $ WireValue EndGroup ()]
-                ScalarField f -> case fieldWireType f of
-                    FieldWireType wt convert _ ->
-                        [TaggedValue tag $ WireValue wt (convert src)]
-        embedPacked [] = []
-        embedPacked src
-            = case typeDescriptor of
-                MessageField _ -> error "Messages can't be packed"
-                ScalarField f -> case fieldWireType f of
-                    FieldWireType wt convert _ -> let
-                        v = L.toStrict $ toLazyByteString
-                            $ mconcat [putWireValue wt (convert x) | x <- src]
-                        in [TaggedValue tag $ WireValue Lengthy v]
-    in case accessor of
-            PlainField d f
-                -- proto3 optional scalar field:
-                | Optional <- d, src == fieldDefault -> []
-                -- proto3 optional non-scalar field, or proto2 required field:
-                | otherwise -> embed src
-              where src = msg ^. f
-            -- proto2 optional field:
-            OptionalField f -> foldMap embed (msg ^. f)
-            -- Note: using 'concatMap' instead of 'foldMap' below
-            -- seems to allow better list fusion.
-            RepeatedField Unpacked f -> concatMap embed (msg ^. f)
-            RepeatedField Packed f -> embedPacked (msg ^. f)
-            MapField keyLens valueLens f ->
-                concatMap (\(k, v) -> embed $ defMessage
-                                                & set keyLens k
-                                                & set valueLens v)
-                    $ Map.toList (msg ^. f)
-
-data FieldWireType value where
-    FieldWireType :: WireType w -> (value -> w) -> (w -> Either String value)
-                  -> FieldWireType value
-
-fieldWireType :: ScalarField value -> FieldWireType value
--- TODO: Don't let toEnum crash on unknown enum values.
-fieldWireType EnumField = simpleFieldWireType VarInt
-                              (fromIntegral . fromEnum)
-                              (toEnum . fromIntegral)
-fieldWireType BoolField = simpleFieldWireType VarInt (bool 0 1) (/= 0)
--- Note: int{32,64} and sfixed{32,64} are stored using the signed -> unsigned
--- conversion of fromIntegral.
-fieldWireType Int32Field = integralFieldWireType VarInt
-fieldWireType Int64Field = integralFieldWireType VarInt
-fieldWireType UInt32Field = integralFieldWireType VarInt
-fieldWireType UInt64Field = identityFieldWireType VarInt
-fieldWireType SInt32Field = simpleFieldWireType VarInt
-                                (fromIntegral . signedInt32ToWord)
-                                (wordToSignedInt32 . fromIntegral)
-fieldWireType SInt64Field = simpleFieldWireType VarInt
-                                signedInt64ToWord wordToSignedInt64
-fieldWireType Fixed32Field = identityFieldWireType Fixed32
-fieldWireType Fixed64Field = identityFieldWireType Fixed64
-fieldWireType SFixed32Field = integralFieldWireType Fixed32
-fieldWireType SFixed64Field = integralFieldWireType Fixed64
-fieldWireType FloatField = simpleFieldWireType Fixed32 floatToWord wordToFloat
-fieldWireType DoubleField = simpleFieldWireType Fixed64
-                                doubleToWord wordToDouble
-fieldWireType StringField = FieldWireType Lengthy encodeUtf8
-                                    (stringizeError . decodeUtf8')
-fieldWireType BytesField = identityFieldWireType Lengthy
-
-endOfGroup :: Tag -> Parser ()
-endOfGroup tag = do
-    TaggedValue tag' (WireValue wt _) <- getTaggedValue
-    Equal <- equalWireTypes EndGroup wt
-    guard (tag == tag')
-
--- | Helper function to define a field type whose decoding operation can't fail.
-simpleFieldWireType :: WireType w -> (value -> w) -> (w -> value)
-                    -> FieldWireType value
-simpleFieldWireType w f g = FieldWireType w f (return . g)
-
--- | A simple field type which is the same as its wire type.
-identityFieldWireType :: WireType w -> FieldWireType w
-identityFieldWireType w = simpleFieldWireType w id id
-
--- | A simple field type which converts to/from its wire type via
--- "fromIntegral".
-integralFieldWireType
-    :: (Integral w, Integral value) => WireType w -> FieldWireType value
-integralFieldWireType w = simpleFieldWireType w fromIntegral fromIntegral
+    let b = encodeMessage msg
+    in Bytes.putVarInt (fromIntegral $ B.length b) <> Bytes.putBytes b
 
-stringizeError :: Either UnicodeException a -> Either String a
-stringizeError (Left e) = Left (show e)
-stringizeError (Right a) = Right a
+parseMessageDelimited :: Message msg => Parser msg
+parseMessageDelimited = do
+    len <- Bytes.getVarInt
+    bytes <- Bytes.getBytes $ fromIntegral len
+    either fail return $ decodeMessage bytes
diff --git a/src/Data/ProtoLens/Encoding/Bytes.hs b/src/Data/ProtoLens/Encoding/Bytes.hs
--- a/src/Data/ProtoLens/Encoding/Bytes.hs
+++ b/src/Data/ProtoLens/Encoding/Bytes.hs
@@ -5,64 +5,130 @@
 -- https://developers.google.com/open-source/licenses/bsd
 
 {-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
 -- | Utility functions for parsing and encoding individual types.
 module Data.ProtoLens.Encoding.Bytes(
+    -- * Running encodings
+    Parser,
+    Builder,
+    runParser,
+    isolate,
+    runBuilder,
+    -- * Bytestrings
+    getBytes,
+    putBytes,
+    -- * Integral types
     getVarInt,
     putVarInt,
-    anyBits,
+    getFixed32,
+    getFixed64,
+    putFixed32,
+    putFixed64,
+    -- * Floating-point types
     wordToFloat,
     wordToDouble,
     floatToWord,
     doubleToWord,
+    -- * Signed types
     signedInt32ToWord,
     wordToSignedInt32,
     signedInt64ToWord,
     wordToSignedInt64,
+    -- * Other utilities
+    atEnd,
+    runEither,
+    (<?>),
+    foldMapBuilder,
     ) where
 
-import Data.Attoparsec.ByteString as Parse
 import Data.Bits
+import Data.ByteString (ByteString)
 import Data.ByteString.Lazy.Builder as Builder
+import qualified Data.ByteString.Builder.Internal as Internal
+import qualified Data.ByteString.Lazy as L
 import Data.Int (Int32, Int64)
 import Data.Monoid ((<>))
+import qualified Data.Vector.Generic as V
 import Data.Word (Word32, Word64)
+#if MIN_VERSION_base(4,11,0)
+import qualified GHC.Float as Float
+#else
 import Foreign.Ptr (castPtr)
 import Foreign.Marshal.Alloc (alloca)
 import Foreign.Storable (Storable, peek, poke)
 import System.IO.Unsafe (unsafePerformIO)
+#endif
 
+import Data.ProtoLens.Encoding.Parser
+
+-- | Constructs a strict 'ByteString' from the given 'Builder'.
+runBuilder :: Builder -> ByteString
+runBuilder = L.toStrict . Builder.toLazyByteString
+
+-- | Emit a given @ByteString@.
+putBytes :: ByteString -> Builder
+putBytes = Builder.byteString
+
 -- VarInts are inherently unsigned; there are different ways of encoding
 -- negative numbers for int32/64 and sint32/64.
 getVarInt :: Parser Word64
 getVarInt = loop 1 0
   where
     loop !s !n = do
-        b <- anyWord8
+        b <- getWord8
         let n' = n + s * fromIntegral (b .&. 127)
         if (b .&. 128) == 0
             then return $! n'
             else loop (128*s) n'
 
--- | Little-endian decoding function.
-anyBits :: forall a . (Num a, FiniteBits a) => Parser a
-anyBits = loop 0 0
-  where
-    size = finiteBitSize (undefined :: a)
-    loop !w !n
-        | n >= size = return w
-        | otherwise = do
-            b <- anyWord8
-            loop (w .|. shiftL (fromIntegral b) n) (n+8)
-
 putVarInt :: Word64 -> Builder
 putVarInt n
     | n < 128 = Builder.word8 (fromIntegral n)
     | otherwise = Builder.word8 (fromIntegral $ n .&. 127 .|. 128)
                       <> putVarInt (n `shiftR` 7)
 
+getFixed32 :: Parser Word32
+getFixed32 = getWord32le
+
+getFixed64 :: Parser Word64
+getFixed64 = do
+    x <- getFixed32
+    y <- getFixed32
+    return $ fromIntegral y `shiftL` 32 + fromIntegral x
+
+-- Note: putFixed32 and putFixed32 have added BangPatterns over the
+-- standard Builders.
+-- This works better when they're composed with other functions.
+-- For example, consider `putFixed32 . floatToWord`.
+-- Since `putFixed32` may return a continuation, it doesn't automatically
+-- force the result of `floatToWord`, so the resulting Word32 must be kept
+-- lazily.  The extra strictness means that the Word32 will be evaluated
+-- outside of the continuation, and GHC can pass it around unboxed.
+
+putFixed32 :: Word32 -> Builder
+putFixed32 !x = word32LE x
+
+putFixed64 :: Word64 -> Builder
+putFixed64 !x = word64LE x
+
+#if MIN_VERSION_base(4,11,0)
+wordToDouble :: Word64 -> Double
+wordToDouble = Float.castWord64ToDouble
+
+wordToFloat :: Word32 -> Float
+wordToFloat = Float.castWord32ToFloat
+
+doubleToWord :: Double -> Word64
+doubleToWord = Float.castDoubleToWord64
+
+floatToWord :: Float -> Word32
+floatToWord = Float.castFloatToWord32
+
+#else
 -- WARNING: SUPER UNSAFE!
 -- Helper function purely for converting between Word32/Word64 and
 -- Float/Double.  Note that ideally we could just use unsafeCoerce, but this
@@ -88,6 +154,7 @@
 
 floatToWord :: Float -> Word32
 floatToWord = cast
+#endif
 
 signedInt32ToWord :: Int32 -> Word32
 signedInt32ToWord n = fromIntegral $ shiftL n 1 `xor` shiftR n 31
@@ -102,3 +169,30 @@
 wordToSignedInt64 :: Word64 -> Int64
 wordToSignedInt64 n
     = fromIntegral (shiftR n 1) `xor` negate (fromIntegral $ n .&. 1)
+
+runEither :: Either String a -> Parser a
+runEither = either fail return
+
+-- | Loop over the elements of a vector and concatenate the resulting
+-- @Builder@s.
+--
+-- This function has been hand-tuned to perform better than a naive
+-- implementation using, e.g., Vector.foldr or a manual loop.
+foldMapBuilder :: V.Vector v a => (a -> Builder) -> v a -> Builder
+foldMapBuilder f = \v0 -> Internal.builder (loop v0)
+    -- Place v0 on the right-hand side so that GHC actually inlines
+    -- this function.
+  where
+    -- Fully-saturate the inner loop (rather than currying away `cont`
+    -- and `bs`) to avoid GHC creating an intermediate continuation.
+    loop v cont bs
+        | V.null v = cont bs
+        | otherwise = let
+            !x = V.unsafeHead v
+            -- lts-8.24 (ghc-8.0) doesn't inline unsafeTail well.
+            -- We can remove the following bang when we bump the lower bound:
+            !xs = V.unsafeTail v
+            in Internal.runBuilderWith
+                        (f x)
+                        (loop xs cont) bs
+{-# INLINE foldMapBuilder #-}
diff --git a/src/Data/ProtoLens/Encoding/Growing.hs b/src/Data/ProtoLens/Encoding/Growing.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Encoding/Growing.hs
@@ -0,0 +1,70 @@
+-- | A mutable vector that grows in size.
+--
+-- Example usage:
+--
+-- > import qualified Data.ProtoLens.Encoding.Growing as Growing
+-- > import qualified Data.Vector.Unboxed as V
+-- > test :: IO (V.Vector Int)
+-- > test = do
+-- >     v <- Growing.new
+-- >     v' <- Growing.append v 1
+-- >     v'' <- Growing.append v' 2
+-- >     v''' <- Growing.append v'' 3
+-- >     unsafeFreeze v'''
+module Data.ProtoLens.Encoding.Growing (
+    Growing,
+    new,
+    append,
+    unsafeFreeze,
+    RealWorld,
+    ) where
+
+import Control.Monad.Primitive (PrimMonad, PrimState, RealWorld)
+
+import qualified Data.Vector.Generic as V
+import qualified Data.Vector.Generic.Mutable as MV
+
+-- | A mutable vector which can increase in capacity.
+data Growing v s a = Growing
+    {-# UNPACK #-} !Int
+        -- The number of elements in the mutable vector
+        -- that have already been set.
+    !(V.Mutable v s a)
+        -- TODOs for efficiency:
+        -- - Try unpacking this.  It's difficult as-is because
+        --   V.Mutable is a type function.
+        -- - MVectors support slicing, but we're not using that
+        --   functionality, so we're passing around an extra unnecessary
+        --   Int.
+
+-- | Create a new empty growing vector.
+new :: (PrimMonad m, V.Vector v a) => m (Growing v (PrimState m) a)
+new = Growing 0 <$> MV.new 0
+
+-- | Unsafely convert a growing vector to an immutable one without
+-- copying.  After this call, you may not use the growing vector
+-- nor any other growing vectors that were used to produce this one.
+unsafeFreeze
+    :: (PrimMonad m, V.Vector v a)
+    => Growing v (PrimState m) a -> m (v a)
+unsafeFreeze (Growing len m) = V.unsafeFreeze (MV.take len m)
+
+-- | Returns a new growing vector with a new element at the end.
+-- Note that the return value may share storage with the input value.
+-- Furthermore, calling @append@ twice on the same input may result
+-- in two vectors that share the same storage.
+append
+    :: (PrimMonad m, V.Vector v a)
+    => Growing v (PrimState m) a
+    -> a
+    -> m (Growing v (PrimState m) a)
+append (Growing len v) x
+    | len < MV.length v = do
+        MV.unsafeWrite v len x
+        return $ Growing (len + 1) v
+    | otherwise = do
+        let len' = 2 * len + 1
+        v' <- MV.unsafeGrow v len'
+        MV.unsafeWrite v' len x
+        return $ Growing (len + 1) v'
+{-# INLINE append #-}
diff --git a/src/Data/ProtoLens/Encoding/Parser.hs b/src/Data/ProtoLens/Encoding/Parser.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Encoding/Parser.hs
@@ -0,0 +1,113 @@
+-- | A custom parsing monad, optimized for speed.
+{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE RankNTypes #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+module Data.ProtoLens.Encoding.Parser
+    ( Parser
+    , runParser
+    , atEnd
+    , isolate
+    , getWord8
+    , getWord32le
+    , getBytes
+    , (<?>)
+    ) where
+
+import Data.Bits (shiftL, (.|.))
+import Data.Word (Word8, Word32)
+import Data.ByteString (ByteString, packCStringLen)
+import qualified Data.ByteString.Unsafe as B
+import Foreign.Ptr
+import Foreign.Storable
+import System.IO.Unsafe (unsafePerformIO)
+
+import Data.ProtoLens.Encoding.Parser.Internal
+
+-- | Evaluates a parser on the given input.
+--
+-- If the parser does not consume all of the input, the rest of the
+-- input is discarded and the parser still succeeds.  Parsers may use
+-- 'atEnd' to detect whether they are at the end of the input.
+--
+-- Values returned from actions in this monad will not hold onto the original
+-- ByteString, but rather make immutable copies of subsets of its bytes.
+runParser :: Parser a -> ByteString -> Either String a
+runParser (Parser m) b =
+    case unsafePerformIO $ B.unsafeUseAsCStringLen b
+            $ \(p, len) -> m (p `plusPtr` len) (castPtr p) of
+        ParseSuccess _ x -> Right x
+        ParseFailure s -> Left s
+
+-- | Returns True if there is no more input left to consume.
+atEnd :: Parser Bool
+atEnd = Parser $ \end pos -> return $ ParseSuccess pos (pos == end)
+
+-- | Parse a one-byte word.
+getWord8 :: Parser Word8
+getWord8 = withSized 1 "getWord8: Unexpected end of input" peek
+
+-- | Parser a 4-byte word in little-endian order.
+getWord32le :: Parser Word32
+getWord32le = withSized 4 "getWord32le: Unexpected end of input" $ \pos -> do
+    b1 <- fromIntegral <$> peek pos
+    b2 <- fromIntegral <$> peek (pos `plusPtr'` 1)
+    b3 <- fromIntegral <$> peek (pos `plusPtr'` 2)
+    b4 <- fromIntegral <$> peek (pos `plusPtr'` 3)
+    let f b b' = b `shiftL` 8 .|. b'
+    return $! f (f (f b4 b3) b2) b1
+
+-- | Parse a sequence of zero or more bytes of the given length.
+--
+-- The new ByteString is an immutable copy of the bytes in the input
+-- and will be managed separately on the Haskell heap from the original
+-- input 'ByteString'.
+--
+-- Fails the parse if given a negative length.
+getBytes :: Int -> Parser ByteString
+getBytes n = withSized n "getBytes: Unexpected end of input"
+                    $ \pos -> packCStringLen (castPtr pos, n)
+
+-- | Helper function for reading bytes from the current position and
+-- advancing the pointer.
+--
+-- Fails the parse if given a negative length.  (GHC will elide the check
+-- if the length is a nonnegative constant.)
+--
+-- It is only safe for @f@ to peek between its argument @p@ and
+-- @p `plusPtr` (len - 1)@, inclusive.
+withSized :: Int -> String -> (Ptr Word8 -> IO a) -> Parser a
+withSized len message f
+    | len >= 0 = Parser $ \end pos ->
+        let pos' = pos `plusPtr'` len
+        in if pos' > end
+            then return $ ParseFailure message
+            else ParseSuccess pos' <$> f pos
+    | otherwise = fail "withSized: negative length"
+{-# INLINE withSized #-}
+
+-- | Run the given parsing action as if there are only 
+-- @len@ bytes remaining.  That is, once @len@ bytes have been
+-- consumed, 'atEnd' will return 'True' and other actions
+-- like 'getWord8' will act like there is no input remaining.
+--
+-- Fails the parse if given a negative length.
+isolate :: Int -> Parser a -> Parser a
+isolate len (Parser m)
+    | len >= 0 = Parser $ \end pos ->
+        let end' = pos `plusPtr` len
+        in if end' > end
+            then return $ ParseFailure "isolate: unexpected end of input"
+            else m end' pos
+    | otherwise = fail "isolate: negative length"
+
+-- | If the parser fails, prepend an error message.
+(<?>) :: Parser a -> String -> Parser a
+Parser m <?> msg = Parser $ \end p -> wrap <$> m end p
+  where
+    wrap (ParseFailure s) = ParseFailure (msg ++ ": " ++ s)
+    wrap r = r
+
+-- | Advance a pointer.  Unlike 'plusPtr', preserves the type of the input.
+plusPtr' :: Ptr a -> Int -> Ptr a
+plusPtr' = plusPtr
diff --git a/src/Data/ProtoLens/Encoding/Parser/Internal.hs b/src/Data/ProtoLens/Encoding/Parser/Internal.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Encoding/Parser/Internal.hs
@@ -0,0 +1,43 @@
+{-# LANGUAGE LambdaCase #-}
+-- | Definition of the parsing monad, plus internal
+-- unsafe functions.
+module Data.ProtoLens.Encoding.Parser.Internal
+    ( Parser(..)
+    , ParseResult(..)
+    ) where
+
+import Control.Monad (ap)
+import Data.Word (Word8)
+import Foreign.Ptr
+
+-- | A monad for parsing an input buffer.
+newtype Parser a = Parser
+    { unParser :: Ptr Word8 -- End position of the input
+               -> Ptr Word8 -- Current position in the input
+               -> IO (ParseResult a)
+    }
+
+data ParseResult a
+    = ParseSuccess
+        { _newPos :: !(Ptr Word8) -- ^ New position in the input
+        , unParserResult :: a
+        }
+    | ParseFailure String
+
+instance Functor ParseResult where
+    fmap f (ParseSuccess p x) = ParseSuccess p (f x)
+    fmap _ (ParseFailure s) = ParseFailure s
+
+instance Functor Parser where
+    fmap f (Parser g) = Parser $ \end cur -> fmap f <$> g end cur
+
+instance Applicative Parser where
+    pure x = Parser $ \_ cur -> return $ ParseSuccess cur x
+    (<*>) = ap
+
+instance Monad Parser where
+    fail s = Parser $ \_ _ -> return $ ParseFailure s
+    return = pure
+    Parser f >>= g = Parser $ \end pos -> f end pos >>= \case
+        ParseSuccess pos' x -> unParser (g x) end pos'
+        ParseFailure s -> return $ ParseFailure s
diff --git a/src/Data/ProtoLens/Encoding/Parser/Unsafe.hs b/src/Data/ProtoLens/Encoding/Parser/Unsafe.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Encoding/Parser/Unsafe.hs
@@ -0,0 +1,21 @@
+module Data.ProtoLens.Encoding.Parser.Unsafe
+    ( unsafeLiftIO ) where
+
+import Data.ProtoLens.Encoding.Parser.Internal
+
+-- | Runs an arbitrary @IO@ action inside a @Parser@.
+-- The generated code uses this function to construct vectors
+-- efficiently by incrementally building up mutable vectors.
+--
+-- NOTE: This is unsafe since @runParser@
+-- is a pure function, which lets us lift arbitrary IO into
+-- pure operations.
+-- However, here are some guarantees that we do get:
+--
+-- - For each individual call to 'runParser', the action
+--   wrapped by 'unsafeLiftIO' will be called exactly once.
+-- - Different calls to 'unsafeLiftIO' within the same call to
+--   'runParser' will be sequenced according to their order in the Parser
+--   monad.
+unsafeLiftIO :: IO a -> Parser a
+unsafeLiftIO m = Parser $ \_ p -> ParseSuccess p <$> m
diff --git a/src/Data/ProtoLens/Encoding/Wire.hs b/src/Data/ProtoLens/Encoding/Wire.hs
--- a/src/Data/ProtoLens/Encoding/Wire.hs
+++ b/src/Data/ProtoLens/Encoding/Wire.hs
@@ -1,72 +1,52 @@
--- Copyright 2016 Google Inc. All Rights Reserved.
+-- | Module defining the individual base wire types (e.g. VarInt, Fixed64).
 --
--- Use of this source code is governed by a BSD-style
--- license that can be found in the LICENSE file or at
--- https://developers.google.com/open-source/licenses/bsd
-
-{-# LANGUAGE GADTs #-}
+-- They are used to represent the @unknownFields@ within the proto message.
+--
+-- Upstream docs:
+-- <https://developers.google.com/protocol-buffers/docs/encoding#structure>
+{-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
-{-# LANGUAGE PatternGuards #-}
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE RankNTypes #-}
--- | Module defining the individual base wire types (e.g. VarInt, Fixed64) and
--- how to encode/decode them.
-module Data.ProtoLens.Encoding.Wire(
-    WireType(..),
-    SomeWireType(..),
-    WireValue(..),
-    Tag(..),
-    TaggedValue(..),
-    getTaggedValue,
-    putTaggedValue,
-    getWireValue,
-    putWireValue,
-    Equal(..),
-    equalWireTypes,
-    decodeFieldSet,
+module Data.ProtoLens.Encoding.Wire
+    ( Tag(..)
+    , TaggedValue(..)
+    , WireValue(..)
+    , FieldSet
+    , splitTypeAndTag
+    , joinTypeAndTag
+    , parseFieldSet
+    , buildFieldSet
+    , parseTaggedValueFromWire
     ) where
 
 import Control.DeepSeq (NFData(..))
-import Data.Attoparsec.ByteString as Parse
-import Data.Bits
+import Data.Bits ((.&.), (.|.), shiftL, shiftR)
 import qualified Data.ByteString as B
-import Data.ByteString.Lazy.Builder as Builder
-import Data.Monoid ((<>))
-import Data.Word
+import Data.Semigroup ((<>))
+import Data.Word (Word8, Word32, Word64)
 
 import Data.ProtoLens.Encoding.Bytes
 
-data WireType a where
-    -- Note: all of these types are fully strict (vs, say,
-    -- Data.ByteString.Lazy.ByteString).  If that changes, we'll
-    -- need to update the NFData instance.
-    VarInt :: WireType Word64
-    Fixed64 :: WireType Word64
-    Fixed32 :: WireType Word32
-    Lengthy :: WireType B.ByteString
-    StartGroup :: WireType ()
-    EndGroup :: WireType ()
-
-instance Show (WireType a) where
-    show = show . wireTypeToInt
-
-
--- A value read from the wire
-data WireValue = forall a . WireValue !(WireType a) !a
-
-instance Show WireValue where
-    show (WireValue VarInt x) = show x
-    show (WireValue Fixed64 x) = show x
-    show (WireValue Fixed32 x) = show x
-    show (WireValue Lengthy x) = show x
-    show (WireValue StartGroup x) = show x
-    show (WireValue EndGroup x) = show x
+-- | A tag that identifies a particular field of the message when converting
+-- to/from the wire format.
+newtype Tag = Tag { unTag :: Int }
+    deriving (Show, Eq, Ord, Num, NFData)
 
+-- | The encoding of some unknown field on the wire.
+data WireValue
+    = VarInt !Word64
+    | Fixed64 !Word64
+    | Lengthy !B.ByteString
+    | StartGroup
+    | EndGroup
+    | Fixed32 !Word32
+    deriving (Eq, Ord)
 
--- The wire contents of a single key-value pair in a Message.
+-- | A pair of an encoded field and a value.
 data TaggedValue = TaggedValue !Tag !WireValue
-    deriving (Show, Eq, Ord)
+    deriving (Eq, Ord)
 
+type FieldSet = [TaggedValue]
+
 -- TaggedValue, WireValue and Tag are strict, so their NFData instances are
 -- trivial:
 instance NFData TaggedValue where
@@ -75,98 +55,62 @@
 instance NFData WireValue where
     rnf = (`seq` ())
 
--- | A tag that identifies a particular field of the message when converting
--- to/from the wire format.
-newtype Tag = Tag { unTag :: Int}
-    deriving (Show, Eq, Ord, Num, NFData)
-
-data Equal a b where
-    -- TODO: move Eq/Ord instance somewhere else?
-    Equal :: (Eq a, Ord a) => Equal a a
-
--- Assert that two wire types are the same, or fail with a message about this
--- field.
-{-# INLINE equalWireTypes #-}
-equalWireTypes :: Monad m => WireType a -> WireType b
-               -> m (Equal a b)
-equalWireTypes VarInt VarInt = return Equal
-equalWireTypes Fixed64 Fixed64 = return Equal
-equalWireTypes Fixed32 Fixed32 = return Equal
-equalWireTypes Lengthy Lengthy = return Equal
-equalWireTypes StartGroup StartGroup = return Equal
-equalWireTypes EndGroup EndGroup = return Equal
-equalWireTypes expected actual
-    = fail $ "Expected wire type " ++ show expected
-        ++ " but found " ++ show actual
-
-instance Eq WireValue where
-    WireValue t v == WireValue t' v'
-        | Just Equal <- equalWireTypes t t'
-            = v == v'
-        | otherwise = False
-
-instance Ord WireValue where
-    WireValue t v `compare` WireValue t' v'
-        | Just Equal <- equalWireTypes t t'
-            = v `compare` v'
-        | otherwise = wireTypeToInt t `compare` wireTypeToInt t'
-
-getWireValue :: WireType a -> Parser a
-getWireValue VarInt = getVarInt
-getWireValue Fixed64 = anyBits
-getWireValue Fixed32 = anyBits
-getWireValue Lengthy = getVarInt >>= Parse.take . fromIntegral
-getWireValue StartGroup = return ()
-getWireValue EndGroup = return ()
-
-putWireValue :: WireType a -> a -> Builder
-putWireValue VarInt n = putVarInt n
-putWireValue Fixed64 n = word64LE n
-putWireValue Fixed32 n = word32LE n
-putWireValue Lengthy b = putVarInt (fromIntegral $ B.length b) <> byteString b
-putWireValue StartGroup _ = mempty
-putWireValue EndGroup _ = mempty
+buildTaggedValue :: TaggedValue -> Builder
+buildTaggedValue (TaggedValue tag wv) =
+    putVarInt (joinTypeAndTag tag (wireValueToInt wv))
+    <> buildWireValue wv
 
-data SomeWireType where
-    SomeWireType :: WireType a -> SomeWireType
+buildWireValue :: WireValue -> Builder
+buildWireValue (VarInt w) = putVarInt w
+buildWireValue (Fixed64 w) = putFixed64 w
+buildWireValue (Fixed32 w) = putFixed32 w
+buildWireValue (Lengthy b) =
+    putVarInt (fromIntegral $ B.length b)
+    <> putBytes b
+buildWireValue StartGroup = mempty
+buildWireValue EndGroup = mempty
 
-wireTypeToInt :: WireType a -> Word64
-wireTypeToInt VarInt = 0
-wireTypeToInt Fixed64 = 1
-wireTypeToInt Lengthy = 2
-wireTypeToInt StartGroup = 3
-wireTypeToInt EndGroup = 4
-wireTypeToInt Fixed32 = 5
+wireValueToInt :: WireValue -> Word8
+wireValueToInt VarInt{} = 0
+wireValueToInt Fixed64{} = 1
+wireValueToInt Lengthy{} = 2
+wireValueToInt StartGroup{} = 3
+wireValueToInt EndGroup{} = 4
+wireValueToInt Fixed32{} = 5
 
-intToWireType :: Word64 -> Either String SomeWireType
-intToWireType 0 = Right $ SomeWireType VarInt
-intToWireType 1 = Right $ SomeWireType Fixed64
-intToWireType 2 = Right $ SomeWireType Lengthy
-intToWireType 3 = Right $ SomeWireType StartGroup
-intToWireType 4 = Right $ SomeWireType EndGroup
-intToWireType 5 = Right $ SomeWireType Fixed32
-intToWireType n = Left $ "Unrecognized wire type " ++ show n
+parseTaggedValue :: Parser TaggedValue
+parseTaggedValue = getVarInt >>= parseTaggedValueFromWire
 
-putTypeAndTag :: WireType a -> Tag -> Builder
-putTypeAndTag wt (Tag tag)
-    = putVarInt $ wireTypeToInt wt .|. fromIntegral tag `shiftL` 3
+parseTaggedValueFromWire :: Word64 -> Parser TaggedValue
+parseTaggedValueFromWire t =
+    let (tag, w) = splitTypeAndTag t
+    in TaggedValue tag <$> case w of
+        0 -> VarInt <$> getVarInt
+        1 -> Fixed64 <$> getFixed64
+        2 -> Lengthy <$> do
+                len <- getVarInt
+                getBytes $ fromIntegral len
+        3 -> return StartGroup
+        4 -> return EndGroup
+        5 -> Fixed32 <$> getFixed32
+        _ -> fail $ "Unknown wire type " ++ show w
 
-getTypeAndTag :: Parser (SomeWireType, Tag)
-getTypeAndTag = do
-  n <- getVarInt
-  case intToWireType (n .&. 7) of
-    Left err -> fail err
-    Right wt -> return (wt, fromIntegral $ n `shiftR` 3)
+splitTypeAndTag :: Word64 -> (Tag, Word8)
+splitTypeAndTag w = (fromIntegral $ w `shiftR` 3, fromIntegral (w .&. 7))
 
-getTaggedValue :: Parser TaggedValue
-getTaggedValue = do
-    (SomeWireType wt, tag) <- getTypeAndTag
-    val <- getWireValue wt
-    return $ TaggedValue tag (WireValue wt val)
+joinTypeAndTag :: Tag -> Word8 -> Word64
+joinTypeAndTag (Tag t) w = fromIntegral t `shiftL` 3 .|. fromIntegral w
 
-putTaggedValue :: TaggedValue -> Builder
-putTaggedValue (TaggedValue tag (WireValue wt val)) =
-    putTypeAndTag wt tag <> putWireValue wt val
+parseFieldSet :: Parser FieldSet
+parseFieldSet = loop []
+  where
+    loop ws = do
+        end <- atEnd
+        if end
+            then return $! reverse ws
+            else do
+                !w <- parseTaggedValue
+                loop (w:ws)
 
-decodeFieldSet :: B.ByteString -> Either String [TaggedValue]
-decodeFieldSet = parseOnly (manyTill getTaggedValue endOfInput)
+buildFieldSet :: FieldSet -> Builder
+buildFieldSet = mconcat . map buildTaggedValue 
diff --git a/src/Data/ProtoLens/Field.hs b/src/Data/ProtoLens/Field.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Field.hs
@@ -0,0 +1,43 @@
+{- | An implementation of overloaded record fields.  This module
+enables different types in the same module to have fields of the
+same name.
+
+To use instances from this class, either:
+
+* Enable the @OverloadedLabels@ extension and
+  @import Data.ProtoLens.Labels ()@;
+* Use the 'field' function along with the @TypeApplications@ extension; or,
+* Import the corresponding names from the autogenerated @*_Fields@ module.
+
+For more information, see <https://google.github.io/proto-lens/tutorial.html#field-overloading>.
+-}
+{-# LANGUAGE AllowAmbiguousTypes #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+module Data.ProtoLens.Field
+    ( HasField(..)
+    , field
+    ) where
+
+import GHC.Prim (Proxy#, proxy#)
+import GHC.TypeLits (Symbol)
+
+-- | A lens for a given field.  For example:
+--
+-- > view field@"abc" x
+-- > set field@"abc" 42 x
+field :: forall x s a f . (HasField s x a, Functor f) => (a -> f a) -> s -> f s
+field = fieldOf (proxy# :: Proxy# x)
+
+-- | A type class for lens fields.
+--
+-- The instance @HasField s x a@ can be understood as "@s@ has a field named @x@
+-- of type @a@".
+class HasField s (x :: Symbol) a | s x -> a where
+    fieldOf :: Functor f => Proxy# x -> (a -> f a) -> s -> f s
diff --git a/src/Data/ProtoLens/Labels.hs b/src/Data/ProtoLens/Labels.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Labels.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE UndecidableInstances #-}
+#if __GLASGOW_HASKELL__ >= 802
+{-# LANGUAGE ScopedTypeVariables #-}
+#endif
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
+------------------------------------------------------------------------------
+-- | This module provides OverloadedLabels 'IsLabel' support via an
+-- orphan instance. This means a @Lens.Family.Lens@ can be referenced
+-- as @#foo@ whenever we have an instance of 'Data.ProtoLens.Field.HasField'
+-- with the label @"foo"@."
+--
+-- To use these labels, enable the @OverloadedLabels@ extension, and then
+-- import:
+--
+-- > import Data.ProtoLens.Labels()
+module Data.ProtoLens.Labels where
+
+import GHC.OverloadedLabels (IsLabel (..))
+#if __GLASGOW_HASKELL__ >= 802
+import GHC.Prim (Proxy#, proxy#)
+#endif
+
+import Data.ProtoLens.Field (HasField(..))
+
+instance (HasField s x a, p ~ (a -> f a), q ~ (s -> f s), Functor f,
+        a ~ b) => IsLabel x (p -> q) where
+#if __GLASGOW_HASKELL__ >= 802
+  fromLabel = fieldOf (proxy# :: Proxy# x)
+#else
+  fromLabel x = fieldOf x
+#endif
diff --git a/src/Data/ProtoLens/Message.hs b/src/Data/ProtoLens/Message.hs
--- a/src/Data/ProtoLens/Message.hs
+++ b/src/Data/ProtoLens/Message.hs
@@ -29,7 +29,7 @@
     MessageOrGroup(..),
     FieldDefault(..),
     MessageEnum(..),
-    -- * Building protocol buffers
+    -- * Constructing protocol buffers
     build,
     -- * Proto registries
     Registry,
@@ -61,6 +61,7 @@
 import Lens.Family2.Unchecked (lens)
 import qualified Data.Semigroup as Semigroup
 
+import Data.ProtoLens.Encoding.Bytes (Builder, Parser)
 import Data.ProtoLens.Encoding.Wire
     ( Tag(..)
     , TaggedValue(..)
@@ -94,9 +95,20 @@
     -- | Access the unknown fields of a Message.
     unknownFields :: Lens' msg FieldSet
 
+    -- | Decode a message value.
+    --
+    -- See also the functions in "Data.ProtoLens.Encoding".
+    parseMessage :: Parser msg
+
+    -- | Encode a message value.
+    --
+    -- See also the functions in "Data.ProtoLens.Encoding".
+    buildMessage :: msg -> Builder
+
 allFields :: Message msg => [FieldDescriptor msg]
 allFields = Map.elems fieldsByTag
 
+-- TODO: represent FieldSet as a Vector too.
 type FieldSet = [TaggedValue]
 
 -- | A description of a specific field of a protocol buffer.
@@ -180,7 +192,6 @@
 
 instance FieldDefault T.Text where
     fieldDefault = T.empty
-
 
 -- | How a given repeated field is transmitted on the wire format.
 data Packing = Packed | Unpacked
diff --git a/src/Data/ProtoLens/Prism.hs b/src/Data/ProtoLens/Prism.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Prism.hs
@@ -0,0 +1,80 @@
+-- Copyright 2016 Google Inc. All Rights Reserved.
+--
+-- Use of this source code is governed by a BSD-style
+-- license that can be found in the LICENSE file or at
+-- https://developers.google.com/open-source/licenses/bsd
+
+-- | This module defines the 'Prism' type and combinators. Used for building
+--   'Prism's for oneof fields.
+{-# LANGUAGE RankNTypes #-}
+
+module Data.ProtoLens.Prism
+    ( Prism
+    , Prism'
+    , AReview
+    , (#)
+    , prism
+    , prism'
+    , _Left
+    , _Right
+    , _Just
+    , _Nothing
+    ) where
+
+import  Data.Tagged (Tagged (..))
+import  Data.Functor.Identity (Identity (..))
+import  Data.Profunctor (dimap)
+import  Data.Profunctor.Choice
+import  Data.Profunctor.Unsafe ((#.), (.#))
+
+
+------------------------------------------------------------------------------
+-- Prism Internals
+------------------------------------------------------------------------------
+type Prism s t a b = forall p f. (Choice p, Applicative f) => p a (f b) -> p s (f t)
+
+type Prism' s a = Prism s s a a
+
+type Optic p f s t a b = p a (f b) -> p s (f t)
+
+type Optic' p f s a = Optic p f s s a a
+
+type AReview t b = Optic' Tagged Identity t b
+
+-- | Used for constructing 'Prism' values.
+--
+-- @'_Just' '#' 5 == 'Just' 5@
+( # ) :: AReview t b -> b -> t
+( # ) p = runIdentity #. unTagged #. p .# Tagged .# Identity
+infixr 8 #
+
+
+------------------------------------------------------------------------------
+-- Prism Combinators
+------------------------------------------------------------------------------
+
+-- | Build a 'Control.Lens.Prism.Prism'.
+--
+-- @'Either' t a@ is used instead of @'Maybe' a@ to permit the types of @s@ and @t@ to differ.
+--
+prism :: (b -> t) -> (s -> Either t a) -> Prism s t a b
+prism bt seta = dimap seta (either pure (fmap bt)) . right'
+{-# INLINE prism #-}
+
+-- | This is usually used to build a 'Prism'', when you have to use an operation like
+-- 'Data.Typeable.cast' which already returns a 'Maybe'.
+prism' :: (b -> s) -> (s -> Maybe a) -> Prism s s a b
+prism' bs sma = prism bs (\s -> maybe (Left s) Right (sma s))
+{-# INLINE prism' #-}
+
+_Left :: Prism (Either a c) (Either b c) a b
+_Left = prism Left $ either Right (Left . Right)
+
+_Right :: Prism (Either c a) (Either c b) a b
+_Right = prism Right $ either (Left . Left) Right
+
+_Just :: Prism (Maybe a) (Maybe b) a b
+_Just = prism Just $ maybe (Left Nothing) Right
+
+_Nothing :: Prism' (Maybe a) ()
+_Nothing = prism' (const Nothing) $ maybe (Just ()) (const Nothing)
diff --git a/src/Data/ProtoLens/TextFormat.hs b/src/Data/ProtoLens/TextFormat.hs
--- a/src/Data/ProtoLens/TextFormat.hs
+++ b/src/Data/ProtoLens/TextFormat.hs
@@ -32,7 +32,6 @@
 import qualified Data.Map as Map
 import Data.Maybe (catMaybes)
 import Data.Proxy (Proxy(Proxy))
-import Data.ProtoLens.Encoding (encodeMessage, decodeMessage)
 import qualified Data.Set as Set
 import qualified Data.Text.Encoding as Text
 import qualified Data.Text.Lazy as Lazy
@@ -45,8 +44,10 @@
 import Prelude hiding ((<>))
 #endif
 
+import Data.ProtoLens.Encoding (decodeMessage, encodeMessage)
+import Data.ProtoLens.Encoding.Bytes (runParser)
 import Data.ProtoLens.Encoding.Wire
-import Data.ProtoLens.Message
+import Data.ProtoLens.Message hiding (buildMessage, parseMessage)
 import qualified Data.ProtoLens.TextFormat.Parser as Parser
 
 -- TODO: This code is newer and missing some edge cases,
@@ -185,11 +186,11 @@
 boolValue False = text "false"
 
 pprintTaggedValue :: TaggedValue -> Doc
-pprintTaggedValue (TaggedValue t (WireValue v x)) = case v of
-    VarInt -> named name $ primField x
-    Fixed64 -> named name $ primField x
-    Fixed32 -> named name $ primField x
-    Lengthy -> case decodeFieldSet x of
+pprintTaggedValue (TaggedValue t wv) = case wv of
+    VarInt x -> named name $ primField x
+    Fixed64 x -> named name $ primField x
+    Fixed32 x -> named name $ primField x
+    Lengthy x -> case runParser parseFieldSet x of
                   Left _ -> named name $ pprintByteString x
                   Right ts -> pprintSubmessage name
                                 $ sep $ map pprintTaggedValue ts
@@ -198,6 +199,7 @@
     EndGroup -> named name $ text "end_group"
   where
     name = show (unTag t)
+
 
 --------------------------------------------------------------------------------
 -- Parsing
diff --git a/src/Proto/Google/Protobuf/Compiler/Plugin.hs b/src/Proto/Google/Protobuf/Compiler/Plugin.hs
--- a/src/Proto/Google/Protobuf/Compiler/Plugin.hs
+++ b/src/Proto/Google/Protobuf/Compiler/Plugin.hs
@@ -2,7 +2,8 @@
 {-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
   UndecidableInstances, GeneralizedNewtypeDeriving,
   MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
+  BangPatterns, TypeApplications #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports#-}
 {-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
 module Proto.Google.Protobuf.Compiler.Plugin
@@ -10,11 +11,17 @@
         CodeGeneratorResponse'File(), Version())
        where
 import qualified Control.DeepSeq
-import qualified Lens.Labels.Prism
+import qualified Data.ProtoLens.Prism
 import qualified Prelude
 import qualified Data.Int
+import qualified Data.Monoid
 import qualified Data.Word
 import qualified Data.ProtoLens
+import qualified Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Field
 import qualified Data.ProtoLens.Message.Enum
 import qualified Data.ProtoLens.Service.Types
 import qualified Lens.Family2
@@ -23,26 +30,34 @@
 import qualified Data.Map
 import qualified Data.ByteString
 import qualified Data.ByteString.Char8
-import qualified Lens.Labels
+import qualified Data.Text.Encoding
+import qualified Data.Vector
+import qualified Data.Vector.Generic
+import qualified Data.Vector.Unboxed
 import qualified Text.Read
 import qualified Proto.Google.Protobuf.Descriptor
 
 {- | Fields :
 
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.fileToGenerate' @:: Lens' CodeGeneratorRequest [Data.Text.Text]@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.vec'fileToGenerate' @:: Lens' CodeGeneratorRequest (Data.Vector.Vector Data.Text.Text)@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.parameter' @:: Lens' CodeGeneratorRequest Data.Text.Text@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'parameter' @:: Lens' CodeGeneratorRequest (Prelude.Maybe Data.Text.Text)@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.protoFile' @:: Lens' CodeGeneratorRequest
   [Proto.Google.Protobuf.Descriptor.FileDescriptorProto]@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.vec'protoFile' @:: Lens' CodeGeneratorRequest
+  (Data.Vector.Vector
+     Proto.Google.Protobuf.Descriptor.FileDescriptorProto)@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.compilerVersion' @:: Lens' CodeGeneratorRequest Version@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'compilerVersion' @:: Lens' CodeGeneratorRequest (Prelude.Maybe Version)@
  -}
 data CodeGeneratorRequest = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate
-                                                 :: ![Data.Text.Text],
+                                                 :: !(Data.Vector.Vector Data.Text.Text),
                                                  _CodeGeneratorRequest'parameter ::
                                                  !(Prelude.Maybe Data.Text.Text),
                                                  _CodeGeneratorRequest'protoFile ::
-                                                 ![Proto.Google.Protobuf.Descriptor.FileDescriptorProto],
+                                                 !(Data.Vector.Vector
+                                                     Proto.Google.Protobuf.Descriptor.FileDescriptorProto),
                                                  _CodeGeneratorRequest'compilerVersion ::
                                                  !(Prelude.Maybe Version),
                                                  _CodeGeneratorRequest'_unknownFields ::
@@ -53,57 +68,77 @@
           = Prelude.showChar '{'
               (Prelude.showString (Data.ProtoLens.showMessageShort __x)
                  (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' CodeGeneratorRequest "fileToGenerate"
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
+           "fileToGenerate"
            ([Data.Text.Text])
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'fileToGenerate
-                 (\ x__ y__ -> x__{_CodeGeneratorRequest'fileToGenerate = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' CodeGeneratorRequest "parameter"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'fileToGenerate
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'fileToGenerate = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
+           "vec'fileToGenerate"
+           (Data.Vector.Vector Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'fileToGenerate
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'fileToGenerate = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
+           "parameter"
            (Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter
-                 (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' CodeGeneratorRequest
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
            "maybe'parameter"
            (Prelude.Maybe Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter
-                 (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' CodeGeneratorRequest "protoFile"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
+           "protoFile"
            ([Proto.Google.Protobuf.Descriptor.FileDescriptorProto])
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'protoFile
-                 (\ x__ y__ -> x__{_CodeGeneratorRequest'protoFile = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' CodeGeneratorRequest
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'protoFile
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'protoFile = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
+           "vec'protoFile"
+           (Data.Vector.Vector
+              Proto.Google.Protobuf.Descriptor.FileDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'protoFile
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'protoFile = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
            "compilerVersion"
            (Version)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'compilerVersion
-                 (\ x__ y__ -> x__{_CodeGeneratorRequest'compilerVersion = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' CodeGeneratorRequest
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _CodeGeneratorRequest'compilerVersion
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'compilerVersion = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField CodeGeneratorRequest
            "maybe'compilerVersion"
            (Prelude.Maybe Version)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'compilerVersion
-                 (\ x__ y__ -> x__{_CodeGeneratorRequest'compilerVersion = y__}))
-              Prelude.id
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _CodeGeneratorRequest'compilerVersion
+               (\ x__ y__ -> x__{_CodeGeneratorRequest'compilerVersion = y__}))
+              Prelude.. Prelude.id
 instance Data.ProtoLens.Message CodeGeneratorRequest where
         messageName _
           = Data.Text.pack "google.protobuf.compiler.CodeGeneratorRequest"
@@ -113,16 +148,14 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "fileToGenerate")))
+                         (Data.ProtoLens.Field.field @"fileToGenerate"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
                 parameter__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "parameter"
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'parameter")))
+                         (Data.ProtoLens.Field.field @"maybe'parameter"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
                 protoFile__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "proto_file"
@@ -130,17 +163,14 @@
                          Data.ProtoLens.FieldTypeDescriptor
                            Proto.Google.Protobuf.Descriptor.FileDescriptorProto)
                       (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "protoFile")))
+                         (Data.ProtoLens.Field.field @"protoFile"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
                 compilerVersion__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "compiler_version"
                       (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                          Data.ProtoLens.FieldTypeDescriptor Version)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'compilerVersion")))
+                         (Data.ProtoLens.Field.field @"maybe'compilerVersion"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
               in
               Data.Map.fromList
@@ -152,31 +182,202 @@
           = Lens.Family2.Unchecked.lens _CodeGeneratorRequest'_unknownFields
               (\ x__ y__ -> x__{_CodeGeneratorRequest'_unknownFields = y__})
         defMessage
-          = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate = [],
+          = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate =
+                                   Data.Vector.Generic.empty,
                                  _CodeGeneratorRequest'parameter = Prelude.Nothing,
-                                 _CodeGeneratorRequest'protoFile = [],
+                                 _CodeGeneratorRequest'protoFile = Data.Vector.Generic.empty,
                                  _CodeGeneratorRequest'compilerVersion = Prelude.Nothing,
                                  _CodeGeneratorRequest'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     CodeGeneratorRequest ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         Data.Text.Text
+                         ->
+                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                           Data.ProtoLens.Encoding.Growing.RealWorld
+                           Proto.Google.Protobuf.Descriptor.FileDescriptorProto
+                           -> Data.ProtoLens.Encoding.Bytes.Parser CodeGeneratorRequest
+                loop x mutable'fileToGenerate mutable'protoFile
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'fileToGenerate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                          mutable'fileToGenerate)
+                            frozen'protoFile <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                     mutable'protoFile)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'fileToGenerate")
+                                    frozen'fileToGenerate
+                                    (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'protoFile")
+                                       frozen'protoFile
+                                       x)))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "file_to_generate"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'fileToGenerate
+                                                   y)
+                                         loop x v mutable'protoFile
+                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "parameter"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"parameter")
+                                              y
+                                              x)
+                                           mutable'fileToGenerate
+                                           mutable'protoFile
+                                122 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                    Data.ProtoLens.Encoding.Bytes.isolate
+                                                      (Prelude.fromIntegral len)
+                                                      Data.ProtoLens.parseMessage)
+                                                  Data.ProtoLens.Encoding.Bytes.<?> "proto_file"
+                                          v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.append
+                                                    mutable'protoFile
+                                                    y)
+                                          loop x mutable'fileToGenerate v
+                                26 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "compiler_version"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"compilerVersion")
+                                              y
+                                              x)
+                                           mutable'fileToGenerate
+                                           mutable'protoFile
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'fileToGenerate
+                                             mutable'protoFile
+              in
+              (do mutable'fileToGenerate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              Data.ProtoLens.Encoding.Growing.new
+                  mutable'protoFile <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'fileToGenerate
+                    mutable'protoFile)
+                Data.ProtoLens.Encoding.Bytes.<?> "CodeGeneratorRequest"
+        buildMessage
+          = (\ _x ->
+               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                  (\ _v ->
+                     (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
+                       (((\ bs ->
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Prelude.. Data.Text.Encoding.encodeUtf8)
+                         _v)
+                  (Lens.Family2.view
+                     (Data.ProtoLens.Field.field @"vec'fileToGenerate")
+                     _x))
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'parameter")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                                             _v)
+                   Data.Monoid.<>
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v ->
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 122) Data.Monoid.<>
+                           (((\ bs ->
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Prelude.. Data.ProtoLens.encodeMessage)
+                             _v)
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'protoFile")
+                         _x))
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view
+                          (Data.ProtoLens.Field.field @"maybe'compilerVersion")
+                          _x
+                        of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                               Data.Monoid.<>
+                                               (((\ bs ->
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       (Prelude.fromIntegral
+                                                          (Data.ByteString.length bs)))
+                                                      Data.Monoid.<>
+                                                      Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                  Prelude.. Data.ProtoLens.encodeMessage)
+                                                 _v)
+                       Data.Monoid.<>
+                       Data.ProtoLens.Encoding.Wire.buildFieldSet
+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x))
 instance Control.DeepSeq.NFData CodeGeneratorRequest where
         rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_CodeGeneratorRequest'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_CodeGeneratorRequest'fileToGenerate x__)
-                   (Control.DeepSeq.deepseq (_CodeGeneratorRequest'parameter x__)
-                      (Control.DeepSeq.deepseq (_CodeGeneratorRequest'protoFile x__)
-                         (Control.DeepSeq.deepseq
-                            (_CodeGeneratorRequest'compilerVersion x__)
-                            (())))))
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_CodeGeneratorRequest'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_CodeGeneratorRequest'fileToGenerate x__)
+                    (Control.DeepSeq.deepseq (_CodeGeneratorRequest'parameter x__)
+                       (Control.DeepSeq.deepseq (_CodeGeneratorRequest'protoFile x__)
+                          (Control.DeepSeq.deepseq
+                             (_CodeGeneratorRequest'compilerVersion x__)
+                             (()))))))
 {- | Fields :
 
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.error' @:: Lens' CodeGeneratorResponse Data.Text.Text@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'error' @:: Lens' CodeGeneratorResponse (Prelude.Maybe Data.Text.Text)@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.file' @:: Lens' CodeGeneratorResponse [CodeGeneratorResponse'File]@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.vec'file' @:: Lens' CodeGeneratorResponse
+  (Data.Vector.Vector CodeGeneratorResponse'File)@
  -}
 data CodeGeneratorResponse = CodeGeneratorResponse{_CodeGeneratorResponse'error
                                                    :: !(Prelude.Maybe Data.Text.Text),
                                                    _CodeGeneratorResponse'file ::
-                                                   ![CodeGeneratorResponse'File],
+                                                   !(Data.Vector.Vector CodeGeneratorResponse'File),
                                                    _CodeGeneratorResponse'_unknownFields ::
                                                    !Data.ProtoLens.FieldSet}
                                deriving (Prelude.Eq, Prelude.Ord)
@@ -185,30 +386,39 @@
           = Prelude.showChar '{'
               (Prelude.showString (Data.ProtoLens.showMessageShort __x)
                  (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' CodeGeneratorResponse "error"
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse
+           "error"
            (Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error
-                 (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' CodeGeneratorResponse "maybe'error"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse
+           "maybe'error"
            (Prelude.Maybe Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error
-                 (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' CodeGeneratorResponse "file"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse "file"
            ([CodeGeneratorResponse'File])
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'file
-                 (\ x__ y__ -> x__{_CodeGeneratorResponse'file = y__}))
-              Prelude.id
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'file
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'file = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse
+           "vec'file"
+           (Data.Vector.Vector CodeGeneratorResponse'File)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'file
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'file = y__}))
+              Prelude.. Prelude.id
 instance Data.ProtoLens.Message CodeGeneratorResponse where
         messageName _
           = Data.Text.pack "google.protobuf.compiler.CodeGeneratorResponse"
@@ -218,16 +428,14 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'error")))
+                         (Data.ProtoLens.Field.field @"maybe'error"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse
                 file__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "file"
                       (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                          Data.ProtoLens.FieldTypeDescriptor CodeGeneratorResponse'File)
                       (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")))
+                         (Data.ProtoLens.Field.field @"file"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse
               in
               Data.Map.fromList
@@ -239,14 +447,104 @@
         defMessage
           = CodeGeneratorResponse{_CodeGeneratorResponse'error =
                                     Prelude.Nothing,
-                                  _CodeGeneratorResponse'file = [],
+                                  _CodeGeneratorResponse'file = Data.Vector.Generic.empty,
                                   _CodeGeneratorResponse'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     CodeGeneratorResponse ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         CodeGeneratorResponse'File
+                         -> Data.ProtoLens.Encoding.Bytes.Parser CodeGeneratorResponse
+                loop x mutable'file
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'file)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'file")
+                                    frozen'file
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "error"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"error") y
+                                              x)
+                                           mutable'file
+                                122 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                    Data.ProtoLens.Encoding.Bytes.isolate
+                                                      (Prelude.fromIntegral len)
+                                                      Data.ProtoLens.parseMessage)
+                                                  Data.ProtoLens.Encoding.Bytes.<?> "file"
+                                          v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.append
+                                                    mutable'file
+                                                    y)
+                                          loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'file
+              in
+              (do mutable'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'file)
+                Data.ProtoLens.Encoding.Bytes.<?> "CodeGeneratorResponse"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'error") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                    (\ _v ->
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 122) Data.Monoid.<>
+                         (((\ bs ->
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Prelude.. Data.ProtoLens.encodeMessage)
+                           _v)
+                    (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'file") _x))
+                   Data.Monoid.<>
+                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
 instance Control.DeepSeq.NFData CodeGeneratorResponse where
         rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_CodeGeneratorResponse'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_CodeGeneratorResponse'error x__)
-                   (Control.DeepSeq.deepseq (_CodeGeneratorResponse'file x__) (())))
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_CodeGeneratorResponse'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_CodeGeneratorResponse'error x__)
+                    (Control.DeepSeq.deepseq (_CodeGeneratorResponse'file x__) (()))))
 {- | Fields :
 
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.name' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@
@@ -270,62 +568,58 @@
           = Prelude.showChar '{'
               (Prelude.showString (Data.ProtoLens.showMessageShort __x)
                  (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' CodeGeneratorResponse'File "name"
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File
+           "name"
            (Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name
-                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' CodeGeneratorResponse'File
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File
            "maybe'name"
            (Prelude.Maybe Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name
-                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' CodeGeneratorResponse'File
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File
            "insertionPoint"
            (Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _CodeGeneratorResponse'File'insertionPoint
-                 (\ x__ y__ ->
-                    x__{_CodeGeneratorResponse'File'insertionPoint = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' CodeGeneratorResponse'File
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _CodeGeneratorResponse'File'insertionPoint
+               (\ x__ y__ ->
+                  x__{_CodeGeneratorResponse'File'insertionPoint = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File
            "maybe'insertionPoint"
            (Prelude.Maybe Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _CodeGeneratorResponse'File'insertionPoint
-                 (\ x__ y__ ->
-                    x__{_CodeGeneratorResponse'File'insertionPoint = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' CodeGeneratorResponse'File "content"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _CodeGeneratorResponse'File'insertionPoint
+               (\ x__ y__ ->
+                  x__{_CodeGeneratorResponse'File'insertionPoint = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File
+           "content"
            (Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content
-                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' CodeGeneratorResponse'File
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField CodeGeneratorResponse'File
            "maybe'content"
            (Prelude.Maybe Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content
-                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))
-              Prelude.id
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content
+               (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))
+              Prelude.. Prelude.id
 instance Data.ProtoLens.Message CodeGeneratorResponse'File where
         messageName _
           = Data.Text.pack
@@ -336,25 +630,21 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                         (Data.ProtoLens.Field.field @"maybe'name"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File
                 insertionPoint__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "insertion_point"
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'insertionPoint")))
+                         (Data.ProtoLens.Field.field @"maybe'insertionPoint"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File
                 content__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "content"
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'content")))
+                         (Data.ProtoLens.Field.field @"maybe'content"))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File
               in
               Data.Map.fromList
@@ -372,16 +662,133 @@
                                        _CodeGeneratorResponse'File'insertionPoint = Prelude.Nothing,
                                        _CodeGeneratorResponse'File'content = Prelude.Nothing,
                                        _CodeGeneratorResponse'File'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     CodeGeneratorResponse'File ->
+                       Data.ProtoLens.Encoding.Bytes.Parser CodeGeneratorResponse'File
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "insertion_point"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"insertionPoint")
+                                              y
+                                              x)
+                                122 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "content"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"content")
+                                               y
+                                               x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "File"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"maybe'insertionPoint")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'content") _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 122)
+                                             Data.Monoid.<>
+                                             (((\ bs ->
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                    Data.Monoid.<>
+                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                Prelude.. Data.Text.Encoding.encodeUtf8)
+                                               _v)
+                     Data.Monoid.<>
+                     Data.ProtoLens.Encoding.Wire.buildFieldSet
+                       (Lens.Family2.view Data.ProtoLens.unknownFields _x))
 instance Control.DeepSeq.NFData CodeGeneratorResponse'File where
         rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_CodeGeneratorResponse'File'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_CodeGeneratorResponse'File'name x__)
-                   (Control.DeepSeq.deepseq
-                      (_CodeGeneratorResponse'File'insertionPoint x__)
-                      (Control.DeepSeq.deepseq (_CodeGeneratorResponse'File'content x__)
-                         (()))))
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_CodeGeneratorResponse'File'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_CodeGeneratorResponse'File'name x__)
+                    (Control.DeepSeq.deepseq
+                       (_CodeGeneratorResponse'File'insertionPoint x__)
+                       (Control.DeepSeq.deepseq (_CodeGeneratorResponse'File'content x__)
+                          (())))))
 {- | Fields :
 
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.major' @:: Lens' Version Data.Int.Int32@
@@ -405,66 +812,62 @@
           = Prelude.showChar '{'
               (Prelude.showString (Data.ProtoLens.showMessageShort __x)
                  (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' Version "major" (Data.Int.Int32)
+instance Data.ProtoLens.Field.HasField Version "major"
+           (Data.Int.Int32)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'major
-                 (\ x__ y__ -> x__{_Version'major = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' Version "maybe'major"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'major
+               (\ x__ y__ -> x__{_Version'major = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField Version "maybe'major"
            (Prelude.Maybe Data.Int.Int32)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'major
-                 (\ x__ y__ -> x__{_Version'major = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' Version "minor" (Data.Int.Int32)
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'major
+               (\ x__ y__ -> x__{_Version'major = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField Version "minor"
+           (Data.Int.Int32)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'minor
-                 (\ x__ y__ -> x__{_Version'minor = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' Version "maybe'minor"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'minor
+               (\ x__ y__ -> x__{_Version'minor = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField Version "maybe'minor"
            (Prelude.Maybe Data.Int.Int32)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'minor
-                 (\ x__ y__ -> x__{_Version'minor = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' Version "patch" (Data.Int.Int32)
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'minor
+               (\ x__ y__ -> x__{_Version'minor = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField Version "patch"
+           (Data.Int.Int32)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'patch
-                 (\ x__ y__ -> x__{_Version'patch = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' Version "maybe'patch"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'patch
+               (\ x__ y__ -> x__{_Version'patch = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField Version "maybe'patch"
            (Prelude.Maybe Data.Int.Int32)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'patch
-                 (\ x__ y__ -> x__{_Version'patch = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' Version "suffix" (Data.Text.Text)
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'patch
+               (\ x__ y__ -> x__{_Version'patch = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField Version "suffix"
+           (Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'suffix
-                 (\ x__ y__ -> x__{_Version'suffix = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' Version "maybe'suffix"
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'suffix
+               (\ x__ y__ -> x__{_Version'suffix = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField Version "maybe'suffix"
            (Prelude.Maybe Data.Text.Text)
          where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Version'suffix
-                 (\ x__ y__ -> x__{_Version'suffix = y__}))
-              Prelude.id
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _Version'suffix
+               (\ x__ y__ -> x__{_Version'suffix = y__}))
+              Prelude.. Prelude.id
 instance Data.ProtoLens.Message Version where
         messageName _ = Data.Text.pack "google.protobuf.compiler.Version"
         fieldsByTag
@@ -473,32 +876,28 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'major")))
+                         (Data.ProtoLens.Field.field @"maybe'major"))
                       :: Data.ProtoLens.FieldDescriptor Version
                 minor__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "minor"
                       (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'minor")))
+                         (Data.ProtoLens.Field.field @"maybe'minor"))
                       :: Data.ProtoLens.FieldDescriptor Version
                 patch__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "patch"
                       (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'patch")))
+                         (Data.ProtoLens.Field.field @"maybe'patch"))
                       :: Data.ProtoLens.FieldDescriptor Version
                 suffix__field_descriptor
                   = Data.ProtoLens.FieldDescriptor "suffix"
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'suffix")))
+                         (Data.ProtoLens.Field.field @"maybe'suffix"))
                       :: Data.ProtoLens.FieldDescriptor Version
               in
               Data.Map.fromList
@@ -513,11 +912,115 @@
           = Version{_Version'major = Prelude.Nothing,
                     _Version'minor = Prelude.Nothing, _Version'patch = Prelude.Nothing,
                     _Version'suffix = Prelude.Nothing, _Version'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     Version -> Data.ProtoLens.Encoding.Bytes.Parser Version
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                               Data.ProtoLens.Encoding.Bytes.<?> "major"
+                                        loop
+                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"major") y
+                                             x)
+                                16 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "minor"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"minor") y
+                                              x)
+                                24 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "patch"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"patch") y
+                                              x)
+                                34 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "suffix"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"suffix")
+                                              y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "Version"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'major") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            Prelude.fromIntegral)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'minor") _x of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              Prelude.fromIntegral)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'patch") _x of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                                             Data.Monoid.<>
+                                             ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                Prelude.fromIntegral)
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'suffix") _x
+                        of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                               Data.Monoid.<>
+                                               (((\ bs ->
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       (Prelude.fromIntegral
+                                                          (Data.ByteString.length bs)))
+                                                      Data.Monoid.<>
+                                                      Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                  Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                 _v)
+                       Data.Monoid.<>
+                       Data.ProtoLens.Encoding.Wire.buildFieldSet
+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x))
 instance Control.DeepSeq.NFData Version where
         rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_Version'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_Version'major x__)
-                   (Control.DeepSeq.deepseq (_Version'minor x__)
-                      (Control.DeepSeq.deepseq (_Version'patch x__)
-                         (Control.DeepSeq.deepseq (_Version'suffix x__) (())))))
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_Version'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_Version'major x__)
+                    (Control.DeepSeq.deepseq (_Version'minor x__)
+                       (Control.DeepSeq.deepseq (_Version'patch x__)
+                          (Control.DeepSeq.deepseq (_Version'suffix x__) (()))))))
diff --git a/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs b/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs
--- a/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs
+++ b/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs
@@ -2,14 +2,21 @@
 {-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
   UndecidableInstances, GeneralizedNewtypeDeriving,
   MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
+  BangPatterns, TypeApplications #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports#-}
 {-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
 module Proto.Google.Protobuf.Compiler.Plugin_Fields where
 import qualified Prelude
 import qualified Data.Int
+import qualified Data.Monoid
 import qualified Data.Word
 import qualified Data.ProtoLens
+import qualified Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Field
 import qualified Data.ProtoLens.Message.Enum
 import qualified Data.ProtoLens.Service.Types
 import qualified Lens.Family2
@@ -18,172 +25,161 @@
 import qualified Data.Map
 import qualified Data.ByteString
 import qualified Data.ByteString.Char8
-import qualified Lens.Labels
+import qualified Data.Text.Encoding
+import qualified Data.Vector
+import qualified Data.Vector.Generic
+import qualified Data.Vector.Unboxed
 import qualified Text.Read
 import qualified Proto.Google.Protobuf.Descriptor
 
 compilerVersion ::
                 forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "compilerVersion" a) =>
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "compilerVersion" a) =>
                   Lens.Family2.LensLike' f s a
-compilerVersion
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "compilerVersion")
+compilerVersion = Data.ProtoLens.Field.field @"compilerVersion"
 content ::
         forall f s a .
-          (Prelude.Functor f, Lens.Labels.HasLens' s "content" a) =>
+          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "content" a) =>
           Lens.Family2.LensLike' f s a
-content
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "content")
+content = Data.ProtoLens.Field.field @"content"
 error ::
       forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "error" a) =>
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "error" a) =>
         Lens.Family2.LensLike' f s a
-error
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "error")
+error = Data.ProtoLens.Field.field @"error"
 file ::
      forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "file" a) =>
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "file" a) =>
        Lens.Family2.LensLike' f s a
-file
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")
+file = Data.ProtoLens.Field.field @"file"
 fileToGenerate ::
                forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "fileToGenerate" a) =>
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "fileToGenerate" a) =>
                  Lens.Family2.LensLike' f s a
-fileToGenerate
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "fileToGenerate")
+fileToGenerate = Data.ProtoLens.Field.field @"fileToGenerate"
 insertionPoint ::
                forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "insertionPoint" a) =>
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "insertionPoint" a) =>
                  Lens.Family2.LensLike' f s a
-insertionPoint
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "insertionPoint")
+insertionPoint = Data.ProtoLens.Field.field @"insertionPoint"
 major ::
       forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "major" a) =>
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "major" a) =>
         Lens.Family2.LensLike' f s a
-major
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "major")
+major = Data.ProtoLens.Field.field @"major"
 maybe'compilerVersion ::
                       forall f s a .
                         (Prelude.Functor f,
-                         Lens.Labels.HasLens' s "maybe'compilerVersion" a) =>
+                         Data.ProtoLens.Field.HasField s "maybe'compilerVersion" a) =>
                         Lens.Family2.LensLike' f s a
 maybe'compilerVersion
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'compilerVersion")
+  = Data.ProtoLens.Field.field @"maybe'compilerVersion"
 maybe'content ::
               forall f s a .
-                (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'content" a) =>
+                (Prelude.Functor f,
+                 Data.ProtoLens.Field.HasField s "maybe'content" a) =>
                 Lens.Family2.LensLike' f s a
-maybe'content
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'content")
+maybe'content = Data.ProtoLens.Field.field @"maybe'content"
 maybe'error ::
             forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'error" a) =>
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'error" a) =>
               Lens.Family2.LensLike' f s a
-maybe'error
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'error")
+maybe'error = Data.ProtoLens.Field.field @"maybe'error"
 maybe'insertionPoint ::
                      forall f s a .
                        (Prelude.Functor f,
-                        Lens.Labels.HasLens' s "maybe'insertionPoint" a) =>
+                        Data.ProtoLens.Field.HasField s "maybe'insertionPoint" a) =>
                        Lens.Family2.LensLike' f s a
 maybe'insertionPoint
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'insertionPoint")
+  = Data.ProtoLens.Field.field @"maybe'insertionPoint"
 maybe'major ::
             forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'major" a) =>
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'major" a) =>
               Lens.Family2.LensLike' f s a
-maybe'major
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'major")
+maybe'major = Data.ProtoLens.Field.field @"maybe'major"
 maybe'minor ::
             forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'minor" a) =>
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'minor" a) =>
               Lens.Family2.LensLike' f s a
-maybe'minor
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'minor")
+maybe'minor = Data.ProtoLens.Field.field @"maybe'minor"
 maybe'name ::
            forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'name" a) =>
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "maybe'name" a) =>
              Lens.Family2.LensLike' f s a
-maybe'name
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")
+maybe'name = Data.ProtoLens.Field.field @"maybe'name"
 maybe'parameter ::
                 forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'parameter" a) =>
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "maybe'parameter" a) =>
                   Lens.Family2.LensLike' f s a
-maybe'parameter
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'parameter")
+maybe'parameter = Data.ProtoLens.Field.field @"maybe'parameter"
 maybe'patch ::
             forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'patch" a) =>
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'patch" a) =>
               Lens.Family2.LensLike' f s a
-maybe'patch
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'patch")
+maybe'patch = Data.ProtoLens.Field.field @"maybe'patch"
 maybe'suffix ::
              forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'suffix" a) =>
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "maybe'suffix" a) =>
                Lens.Family2.LensLike' f s a
-maybe'suffix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'suffix")
+maybe'suffix = Data.ProtoLens.Field.field @"maybe'suffix"
 minor ::
       forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "minor" a) =>
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "minor" a) =>
         Lens.Family2.LensLike' f s a
-minor
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "minor")
+minor = Data.ProtoLens.Field.field @"minor"
 name ::
      forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "name" a) =>
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>
        Lens.Family2.LensLike' f s a
-name
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")
+name = Data.ProtoLens.Field.field @"name"
 parameter ::
           forall f s a .
-            (Prelude.Functor f, Lens.Labels.HasLens' s "parameter" a) =>
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "parameter" a) =>
             Lens.Family2.LensLike' f s a
-parameter
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "parameter")
+parameter = Data.ProtoLens.Field.field @"parameter"
 patch ::
       forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "patch" a) =>
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "patch" a) =>
         Lens.Family2.LensLike' f s a
-patch
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "patch")
+patch = Data.ProtoLens.Field.field @"patch"
 protoFile ::
           forall f s a .
-            (Prelude.Functor f, Lens.Labels.HasLens' s "protoFile" a) =>
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "protoFile" a) =>
             Lens.Family2.LensLike' f s a
-protoFile
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "protoFile")
+protoFile = Data.ProtoLens.Field.field @"protoFile"
 suffix ::
        forall f s a .
-         (Prelude.Functor f, Lens.Labels.HasLens' s "suffix" a) =>
+         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "suffix" a) =>
          Lens.Family2.LensLike' f s a
-suffix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "suffix")
+suffix = Data.ProtoLens.Field.field @"suffix"
+vec'file ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "vec'file" a) =>
+           Lens.Family2.LensLike' f s a
+vec'file = Data.ProtoLens.Field.field @"vec'file"
+vec'fileToGenerate ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Data.ProtoLens.Field.HasField s "vec'fileToGenerate" a) =>
+                     Lens.Family2.LensLike' f s a
+vec'fileToGenerate
+  = Data.ProtoLens.Field.field @"vec'fileToGenerate"
+vec'protoFile ::
+              forall f s a .
+                (Prelude.Functor f,
+                 Data.ProtoLens.Field.HasField s "vec'protoFile" a) =>
+                Lens.Family2.LensLike' f s a
+vec'protoFile = Data.ProtoLens.Field.field @"vec'protoFile"
diff --git a/src/Proto/Google/Protobuf/Descriptor.hs b/src/Proto/Google/Protobuf/Descriptor.hs
--- a/src/Proto/Google/Protobuf/Descriptor.hs
+++ b/src/Proto/Google/Protobuf/Descriptor.hs
@@ -2,4906 +2,9689 @@
 {-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
   UndecidableInstances, GeneralizedNewtypeDeriving,
   MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Descriptor
-       (DescriptorProto(), DescriptorProto'ExtensionRange(),
-        DescriptorProto'ReservedRange(), EnumDescriptorProto(),
-        EnumDescriptorProto'EnumReservedRange(), EnumOptions(),
-        EnumValueDescriptorProto(), EnumValueOptions(),
-        ExtensionRangeOptions(), FieldDescriptorProto(),
-        FieldDescriptorProto'Label(..), FieldDescriptorProto'Label(),
-        FieldDescriptorProto'Type(..), FieldDescriptorProto'Type(),
-        FieldOptions(), FieldOptions'CType(..), FieldOptions'CType(),
-        FieldOptions'JSType(..), FieldOptions'JSType(),
-        FileDescriptorProto(), FileDescriptorSet(), FileOptions(),
-        FileOptions'OptimizeMode(..), FileOptions'OptimizeMode(),
-        GeneratedCodeInfo(), GeneratedCodeInfo'Annotation(),
-        MessageOptions(), MethodDescriptorProto(), MethodOptions(),
-        MethodOptions'IdempotencyLevel(..),
-        MethodOptions'IdempotencyLevel(), OneofDescriptorProto(),
-        OneofOptions(), ServiceDescriptorProto(), ServiceOptions(),
-        SourceCodeInfo(), SourceCodeInfo'Location(), UninterpretedOption(),
-        UninterpretedOption'NamePart())
-       where
-import qualified Control.DeepSeq
-import qualified Lens.Labels.Prism
-import qualified Prelude
-import qualified Data.Int
-import qualified Data.Word
-import qualified Data.ProtoLens
-import qualified Data.ProtoLens.Message.Enum
-import qualified Data.ProtoLens.Service.Types
-import qualified Lens.Family2
-import qualified Lens.Family2.Unchecked
-import qualified Data.Text
-import qualified Data.Map
-import qualified Data.ByteString
-import qualified Data.ByteString.Char8
-import qualified Lens.Labels
-import qualified Text.Read
-
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' DescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' DescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.field' @:: Lens' DescriptorProto [FieldDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' DescriptorProto [FieldDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.nestedType' @:: Lens' DescriptorProto [DescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' DescriptorProto [EnumDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extensionRange' @:: Lens' DescriptorProto [DescriptorProto'ExtensionRange]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofDecl' @:: Lens' DescriptorProto [OneofDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto MessageOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto (Prelude.Maybe MessageOptions)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' DescriptorProto [DescriptorProto'ReservedRange]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' DescriptorProto [Data.Text.Text]@
- -}
-data DescriptorProto = DescriptorProto{_DescriptorProto'name ::
-                                       !(Prelude.Maybe Data.Text.Text),
-                                       _DescriptorProto'field :: ![FieldDescriptorProto],
-                                       _DescriptorProto'extension :: ![FieldDescriptorProto],
-                                       _DescriptorProto'nestedType :: ![DescriptorProto],
-                                       _DescriptorProto'enumType :: ![EnumDescriptorProto],
-                                       _DescriptorProto'extensionRange ::
-                                       ![DescriptorProto'ExtensionRange],
-                                       _DescriptorProto'oneofDecl :: ![OneofDescriptorProto],
-                                       _DescriptorProto'options :: !(Prelude.Maybe MessageOptions),
-                                       _DescriptorProto'reservedRange ::
-                                       ![DescriptorProto'ReservedRange],
-                                       _DescriptorProto'reservedName :: ![Data.Text.Text],
-                                       _DescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}
-                         deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show DescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' DescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'name
-                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' DescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'name
-                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "field"
-           ([FieldDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'field
-                 (\ x__ y__ -> x__{_DescriptorProto'field = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "extension"
-           ([FieldDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'extension
-                 (\ x__ y__ -> x__{_DescriptorProto'extension = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "nestedType"
-           ([DescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'nestedType
-                 (\ x__ y__ -> x__{_DescriptorProto'nestedType = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "enumType"
-           ([EnumDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'enumType
-                 (\ x__ y__ -> x__{_DescriptorProto'enumType = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "extensionRange"
-           ([DescriptorProto'ExtensionRange])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'extensionRange
-                 (\ x__ y__ -> x__{_DescriptorProto'extensionRange = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "oneofDecl"
-           ([OneofDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'oneofDecl
-                 (\ x__ y__ -> x__{_DescriptorProto'oneofDecl = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "options"
-           (MessageOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'options
-                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' DescriptorProto "maybe'options"
-           (Prelude.Maybe MessageOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'options
-                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "reservedRange"
-           ([DescriptorProto'ReservedRange])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedRange
-                 (\ x__ y__ -> x__{_DescriptorProto'reservedRange = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto "reservedName"
-           ([Data.Text.Text])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedName
-                 (\ x__ y__ -> x__{_DescriptorProto'reservedName = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message DescriptorProto where
-        messageName _ = Data.Text.pack "google.protobuf.DescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                field__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "field"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                extension__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extension"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                nestedType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "nested_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                enumType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "enum_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                extensionRange__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extension_range"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ExtensionRange)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                oneofDecl__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "oneof_decl"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor OneofDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MessageOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                reservedRange__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reserved_range"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ReservedRange)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                reservedName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reserved_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, field__field_descriptor),
-                 (Data.ProtoLens.Tag 6, extension__field_descriptor),
-                 (Data.ProtoLens.Tag 3, nestedType__field_descriptor),
-                 (Data.ProtoLens.Tag 4, enumType__field_descriptor),
-                 (Data.ProtoLens.Tag 5, extensionRange__field_descriptor),
-                 (Data.ProtoLens.Tag 8, oneofDecl__field_descriptor),
-                 (Data.ProtoLens.Tag 7, options__field_descriptor),
-                 (Data.ProtoLens.Tag 9, reservedRange__field_descriptor),
-                 (Data.ProtoLens.Tag 10, reservedName__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _DescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_DescriptorProto'_unknownFields = y__})
-        defMessage
-          = DescriptorProto{_DescriptorProto'name = Prelude.Nothing,
-                            _DescriptorProto'field = [], _DescriptorProto'extension = [],
-                            _DescriptorProto'nestedType = [], _DescriptorProto'enumType = [],
-                            _DescriptorProto'extensionRange = [],
-                            _DescriptorProto'oneofDecl = [],
-                            _DescriptorProto'options = Prelude.Nothing,
-                            _DescriptorProto'reservedRange = [],
-                            _DescriptorProto'reservedName = [],
-                            _DescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData DescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_DescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_DescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_DescriptorProto'field x__)
-                      (Control.DeepSeq.deepseq (_DescriptorProto'extension x__)
-                         (Control.DeepSeq.deepseq (_DescriptorProto'nestedType x__)
-                            (Control.DeepSeq.deepseq (_DescriptorProto'enumType x__)
-                               (Control.DeepSeq.deepseq (_DescriptorProto'extensionRange x__)
-                                  (Control.DeepSeq.deepseq (_DescriptorProto'oneofDecl x__)
-                                     (Control.DeepSeq.deepseq (_DescriptorProto'options x__)
-                                        (Control.DeepSeq.deepseq
-                                           (_DescriptorProto'reservedRange x__)
-                                           (Control.DeepSeq.deepseq
-                                              (_DescriptorProto'reservedName x__)
-                                              (())))))))))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto'ExtensionRange ExtensionRangeOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto'ExtensionRange
-  (Prelude.Maybe ExtensionRangeOptions)@
- -}
-data DescriptorProto'ExtensionRange = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
-                                                                     ::
-                                                                     !(Prelude.Maybe
-                                                                         Data.Int.Int32),
-                                                                     _DescriptorProto'ExtensionRange'end
-                                                                     ::
-                                                                     !(Prelude.Maybe
-                                                                         Data.Int.Int32),
-                                                                     _DescriptorProto'ExtensionRange'options
-                                                                     ::
-                                                                     !(Prelude.Maybe
-                                                                         ExtensionRangeOptions),
-                                                                     _DescriptorProto'ExtensionRange'_unknownFields
-                                                                     :: !Data.ProtoLens.FieldSet}
-                                        deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show DescriptorProto'ExtensionRange where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
-           "start"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
-           "maybe'start"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange "end"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
-           "maybe'end"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
-           "options"
-           (ExtensionRangeOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _DescriptorProto'ExtensionRange'options
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
-           "maybe'options"
-           (Prelude.Maybe ExtensionRangeOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _DescriptorProto'ExtensionRange'options
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'options = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message DescriptorProto'ExtensionRange
-         where
-        messageName _
-          = Data.Text.pack "google.protobuf.DescriptorProto.ExtensionRange"
-        fieldsByTag
-          = let start__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "start"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
-                end__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "end"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor ExtensionRangeOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, start__field_descriptor),
-                 (Data.ProtoLens.Tag 2, end__field_descriptor),
-                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _DescriptorProto'ExtensionRange'_unknownFields
-              (\ x__ y__ ->
-                 x__{_DescriptorProto'ExtensionRange'_unknownFields = y__})
-        defMessage
-          = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
-                                             = Prelude.Nothing,
-                                           _DescriptorProto'ExtensionRange'end = Prelude.Nothing,
-                                           _DescriptorProto'ExtensionRange'options =
-                                             Prelude.Nothing,
-                                           _DescriptorProto'ExtensionRange'_unknownFields = ([])}
-instance Control.DeepSeq.NFData DescriptorProto'ExtensionRange
-         where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_DescriptorProto'ExtensionRange'_unknownFields x__)
-                (Control.DeepSeq.deepseq
-                   (_DescriptorProto'ExtensionRange'start x__)
-                   (Control.DeepSeq.deepseq (_DescriptorProto'ExtensionRange'end x__)
-                      (Control.DeepSeq.deepseq
-                         (_DescriptorProto'ExtensionRange'options x__)
-                         (()))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
- -}
-data DescriptorProto'ReservedRange = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
-                                                                   ::
-                                                                   !(Prelude.Maybe Data.Int.Int32),
-                                                                   _DescriptorProto'ReservedRange'end
-                                                                   ::
-                                                                   !(Prelude.Maybe Data.Int.Int32),
-                                                                   _DescriptorProto'ReservedRange'_unknownFields
-                                                                   :: !Data.ProtoLens.FieldSet}
-                                       deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show DescriptorProto'ReservedRange where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' DescriptorProto'ReservedRange "start"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' DescriptorProto'ReservedRange
-           "maybe'start"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' DescriptorProto'ReservedRange "end"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' DescriptorProto'ReservedRange
-           "maybe'end"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message DescriptorProto'ReservedRange where
-        messageName _
-          = Data.Text.pack "google.protobuf.DescriptorProto.ReservedRange"
-        fieldsByTag
-          = let start__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "start"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
-                end__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "end"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, start__field_descriptor),
-                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _DescriptorProto'ReservedRange'_unknownFields
-              (\ x__ y__ ->
-                 x__{_DescriptorProto'ReservedRange'_unknownFields = y__})
-        defMessage
-          = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
-                                            = Prelude.Nothing,
-                                          _DescriptorProto'ReservedRange'end = Prelude.Nothing,
-                                          _DescriptorProto'ReservedRange'_unknownFields = ([])}
-instance Control.DeepSeq.NFData DescriptorProto'ReservedRange where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_DescriptorProto'ReservedRange'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_DescriptorProto'ReservedRange'start x__)
-                   (Control.DeepSeq.deepseq (_DescriptorProto'ReservedRange'end x__)
-                      (())))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.value' @:: Lens' EnumDescriptorProto [EnumValueDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumDescriptorProto EnumOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumDescriptorProto (Prelude.Maybe EnumOptions)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' EnumDescriptorProto [EnumDescriptorProto'EnumReservedRange]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' EnumDescriptorProto [Data.Text.Text]@
- -}
-data EnumDescriptorProto = EnumDescriptorProto{_EnumDescriptorProto'name
-                                               :: !(Prelude.Maybe Data.Text.Text),
-                                               _EnumDescriptorProto'value ::
-                                               ![EnumValueDescriptorProto],
-                                               _EnumDescriptorProto'options ::
-                                               !(Prelude.Maybe EnumOptions),
-                                               _EnumDescriptorProto'reservedRange ::
-                                               ![EnumDescriptorProto'EnumReservedRange],
-                                               _EnumDescriptorProto'reservedName ::
-                                               ![Data.Text.Text],
-                                               _EnumDescriptorProto'_unknownFields ::
-                                               !Data.ProtoLens.FieldSet}
-                             deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show EnumDescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' EnumDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' EnumDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumDescriptorProto "value"
-           ([EnumValueDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'value
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'value = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumDescriptorProto "options"
-           (EnumOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' EnumDescriptorProto "maybe'options"
-           (Prelude.Maybe EnumOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumDescriptorProto "reservedRange"
-           ([EnumDescriptorProto'EnumReservedRange])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedRange
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'reservedRange = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumDescriptorProto "reservedName"
-           ([Data.Text.Text])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedName
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'reservedName = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message EnumDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.EnumDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-                value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumValueDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-                reservedRange__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reserved_range"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor
-                           EnumDescriptorProto'EnumReservedRange)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-                reservedName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reserved_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, value__field_descriptor),
-                 (Data.ProtoLens.Tag 3, options__field_descriptor),
-                 (Data.ProtoLens.Tag 4, reservedRange__field_descriptor),
-                 (Data.ProtoLens.Tag 5, reservedName__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _EnumDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_EnumDescriptorProto'_unknownFields = y__})
-        defMessage
-          = EnumDescriptorProto{_EnumDescriptorProto'name = Prelude.Nothing,
-                                _EnumDescriptorProto'value = [],
-                                _EnumDescriptorProto'options = Prelude.Nothing,
-                                _EnumDescriptorProto'reservedRange = [],
-                                _EnumDescriptorProto'reservedName = [],
-                                _EnumDescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData EnumDescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_EnumDescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_EnumDescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_EnumDescriptorProto'value x__)
-                      (Control.DeepSeq.deepseq (_EnumDescriptorProto'options x__)
-                         (Control.DeepSeq.deepseq (_EnumDescriptorProto'reservedRange x__)
-                            (Control.DeepSeq.deepseq (_EnumDescriptorProto'reservedName x__)
-                               (()))))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' EnumDescriptorProto'EnumReservedRange
-  (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' EnumDescriptorProto'EnumReservedRange
-  (Prelude.Maybe Data.Int.Int32)@
- -}
-data EnumDescriptorProto'EnumReservedRange = EnumDescriptorProto'EnumReservedRange{_EnumDescriptorProto'EnumReservedRange'start
-                                                                                   ::
-                                                                                   !(Prelude.Maybe
-                                                                                       Data.Int.Int32),
-                                                                                   _EnumDescriptorProto'EnumReservedRange'end
-                                                                                   ::
-                                                                                   !(Prelude.Maybe
-                                                                                       Data.Int.Int32),
-                                                                                   _EnumDescriptorProto'EnumReservedRange'_unknownFields
-                                                                                   ::
-                                                                                   !Data.ProtoLens.FieldSet}
-                                               deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show EnumDescriptorProto'EnumReservedRange where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
-           "start"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _EnumDescriptorProto'EnumReservedRange'start
-                 (\ x__ y__ ->
-                    x__{_EnumDescriptorProto'EnumReservedRange'start = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
-           "maybe'start"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _EnumDescriptorProto'EnumReservedRange'start
-                 (\ x__ y__ ->
-                    x__{_EnumDescriptorProto'EnumReservedRange'start = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
-           "end"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _EnumDescriptorProto'EnumReservedRange'end
-                 (\ x__ y__ ->
-                    x__{_EnumDescriptorProto'EnumReservedRange'end = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
-           "maybe'end"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _EnumDescriptorProto'EnumReservedRange'end
-                 (\ x__ y__ ->
-                    x__{_EnumDescriptorProto'EnumReservedRange'end = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message
-           EnumDescriptorProto'EnumReservedRange
-         where
-        messageName _
-          = Data.Text.pack
-              "google.protobuf.EnumDescriptorProto.EnumReservedRange"
-        fieldsByTag
-          = let start__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "start"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
-                      ::
-                      Data.ProtoLens.FieldDescriptor
-                        EnumDescriptorProto'EnumReservedRange
-                end__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "end"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
-                      ::
-                      Data.ProtoLens.FieldDescriptor
-                        EnumDescriptorProto'EnumReservedRange
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, start__field_descriptor),
-                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _EnumDescriptorProto'EnumReservedRange'_unknownFields
-              (\ x__ y__ ->
-                 x__{_EnumDescriptorProto'EnumReservedRange'_unknownFields = y__})
-        defMessage
-          = EnumDescriptorProto'EnumReservedRange{_EnumDescriptorProto'EnumReservedRange'start
-                                                    = Prelude.Nothing,
-                                                  _EnumDescriptorProto'EnumReservedRange'end =
-                                                    Prelude.Nothing,
-                                                  _EnumDescriptorProto'EnumReservedRange'_unknownFields
-                                                    = ([])}
-instance Control.DeepSeq.NFData
-           EnumDescriptorProto'EnumReservedRange
-         where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_EnumDescriptorProto'EnumReservedRange'_unknownFields x__)
-                (Control.DeepSeq.deepseq
-                   (_EnumDescriptorProto'EnumReservedRange'start x__)
-                   (Control.DeepSeq.deepseq
-                      (_EnumDescriptorProto'EnumReservedRange'end x__)
-                      (())))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.allowAlias' @:: Lens' EnumOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'allowAlias' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumOptions [UninterpretedOption]@
- -}
-data EnumOptions = EnumOptions{_EnumOptions'allowAlias ::
-                               !(Prelude.Maybe Prelude.Bool),
-                               _EnumOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                               _EnumOptions'uninterpretedOption :: ![UninterpretedOption],
-                               _EnumOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                     deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show EnumOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' EnumOptions "allowAlias"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
-                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' EnumOptions "maybe'allowAlias"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
-                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumOptions "deprecated"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' EnumOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_EnumOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message EnumOptions where
-        messageName _ = Data.Text.pack "google.protobuf.EnumOptions"
-        fieldsByTag
-          = let allowAlias__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "allow_alias"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")))
-                      :: Data.ProtoLens.FieldDescriptor EnumOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor EnumOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor EnumOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 2, allowAlias__field_descriptor),
-                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _EnumOptions'_unknownFields
-              (\ x__ y__ -> x__{_EnumOptions'_unknownFields = y__})
-        defMessage
-          = EnumOptions{_EnumOptions'allowAlias = Prelude.Nothing,
-                        _EnumOptions'deprecated = Prelude.Nothing,
-                        _EnumOptions'uninterpretedOption = [],
-                        _EnumOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData EnumOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_EnumOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_EnumOptions'allowAlias x__)
-                   (Control.DeepSeq.deepseq (_EnumOptions'deprecated x__)
-                      (Control.DeepSeq.deepseq (_EnumOptions'uninterpretedOption x__)
-                         (()))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumValueDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' EnumValueDescriptorProto Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumValueDescriptorProto EnumValueOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe EnumValueOptions)@
- -}
-data EnumValueDescriptorProto = EnumValueDescriptorProto{_EnumValueDescriptorProto'name
-                                                         :: !(Prelude.Maybe Data.Text.Text),
-                                                         _EnumValueDescriptorProto'number ::
-                                                         !(Prelude.Maybe Data.Int.Int32),
-                                                         _EnumValueDescriptorProto'options ::
-                                                         !(Prelude.Maybe EnumValueOptions),
-                                                         _EnumValueDescriptorProto'_unknownFields ::
-                                                         !Data.ProtoLens.FieldSet}
-                                  deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show EnumValueDescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' EnumValueDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' EnumValueDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumValueDescriptorProto "number"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' EnumValueDescriptorProto
-           "maybe'number"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumValueDescriptorProto "options"
-           (EnumValueOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' EnumValueDescriptorProto
-           "maybe'options"
-           (Prelude.Maybe EnumValueOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message EnumValueDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.EnumValueDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
-                number__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "number"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumValueOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, number__field_descriptor),
-                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _EnumValueDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_EnumValueDescriptorProto'_unknownFields = y__})
-        defMessage
-          = EnumValueDescriptorProto{_EnumValueDescriptorProto'name =
-                                       Prelude.Nothing,
-                                     _EnumValueDescriptorProto'number = Prelude.Nothing,
-                                     _EnumValueDescriptorProto'options = Prelude.Nothing,
-                                     _EnumValueDescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData EnumValueDescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_EnumValueDescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'number x__)
-                      (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'options x__)
-                         (()))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumValueOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumValueOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumValueOptions [UninterpretedOption]@
- -}
-data EnumValueOptions = EnumValueOptions{_EnumValueOptions'deprecated
-                                         :: !(Prelude.Maybe Prelude.Bool),
-                                         _EnumValueOptions'uninterpretedOption ::
-                                         ![UninterpretedOption],
-                                         _EnumValueOptions'_unknownFields ::
-                                         !Data.ProtoLens.FieldSet}
-                          deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show EnumValueOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' EnumValueOptions "deprecated"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' EnumValueOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' EnumValueOptions
-           "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_EnumValueOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message EnumValueOptions where
-        messageName _ = Data.Text.pack "google.protobuf.EnumValueOptions"
-        fieldsByTag
-          = let deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _EnumValueOptions'_unknownFields
-              (\ x__ y__ -> x__{_EnumValueOptions'_unknownFields = y__})
-        defMessage
-          = EnumValueOptions{_EnumValueOptions'deprecated = Prelude.Nothing,
-                             _EnumValueOptions'uninterpretedOption = [],
-                             _EnumValueOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData EnumValueOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_EnumValueOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_EnumValueOptions'deprecated x__)
-                   (Control.DeepSeq.deepseq
-                      (_EnumValueOptions'uninterpretedOption x__)
-                      (())))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ExtensionRangeOptions [UninterpretedOption]@
- -}
-data ExtensionRangeOptions = ExtensionRangeOptions{_ExtensionRangeOptions'uninterpretedOption
-                                                   :: ![UninterpretedOption],
-                                                   _ExtensionRangeOptions'_unknownFields ::
-                                                   !Data.ProtoLens.FieldSet}
-                               deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ExtensionRangeOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' ExtensionRangeOptions
-           "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _ExtensionRangeOptions'uninterpretedOption
-                 (\ x__ y__ ->
-                    x__{_ExtensionRangeOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message ExtensionRangeOptions where
-        messageName _
-          = Data.Text.pack "google.protobuf.ExtensionRangeOptions"
-        fieldsByTag
-          = let uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor ExtensionRangeOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _ExtensionRangeOptions'_unknownFields
-              (\ x__ y__ -> x__{_ExtensionRangeOptions'_unknownFields = y__})
-        defMessage
-          = ExtensionRangeOptions{_ExtensionRangeOptions'uninterpretedOption
-                                    = [],
-                                  _ExtensionRangeOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData ExtensionRangeOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_ExtensionRangeOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq
-                   (_ExtensionRangeOptions'uninterpretedOption x__)
-                   (()))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' FieldDescriptorProto Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.label' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Label@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'label' @:: Lens' FieldDescriptorProto
-  (Prelude.Maybe FieldDescriptorProto'Label)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.type'' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Type@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'type'' @:: Lens' FieldDescriptorProto
-  (Prelude.Maybe FieldDescriptorProto'Type)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.typeName' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'typeName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extendee' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'extendee' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.defaultValue' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'defaultValue' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofIndex' @:: Lens' FieldDescriptorProto Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'oneofIndex' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.jsonName' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jsonName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FieldDescriptorProto FieldOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldOptions)@
- -}
-data FieldDescriptorProto = FieldDescriptorProto{_FieldDescriptorProto'name
-                                                 :: !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'number ::
-                                                 !(Prelude.Maybe Data.Int.Int32),
-                                                 _FieldDescriptorProto'label ::
-                                                 !(Prelude.Maybe FieldDescriptorProto'Label),
-                                                 _FieldDescriptorProto'type' ::
-                                                 !(Prelude.Maybe FieldDescriptorProto'Type),
-                                                 _FieldDescriptorProto'typeName ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'extendee ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'defaultValue ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'oneofIndex ::
-                                                 !(Prelude.Maybe Data.Int.Int32),
-                                                 _FieldDescriptorProto'jsonName ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'options ::
-                                                 !(Prelude.Maybe FieldOptions),
-                                                 _FieldDescriptorProto'_unknownFields ::
-                                                 !Data.ProtoLens.FieldSet}
-                              deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show FieldDescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' FieldDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "number"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'number"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "label"
-           (FieldDescriptorProto'Label)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'label"
-           (Prelude.Maybe FieldDescriptorProto'Label)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "type'"
-           (FieldDescriptorProto'Type)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'type'"
-           (Prelude.Maybe FieldDescriptorProto'Type)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "typeName"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'typeName"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "extendee"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'extendee"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "defaultValue"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto
-           "maybe'defaultValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "oneofIndex"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto
-           "maybe'oneofIndex"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "jsonName"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'jsonName"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldDescriptorProto "options"
-           (FieldOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'options"
-           (Prelude.Maybe FieldOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message FieldDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.FieldDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                number__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "number"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                label__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "label"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Label)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                type'__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "type"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Type)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                typeName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "type_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                extendee__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extendee"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                defaultValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "default_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'defaultValue")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                oneofIndex__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "oneof_index"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                jsonName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "json_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 3, number__field_descriptor),
-                 (Data.ProtoLens.Tag 4, label__field_descriptor),
-                 (Data.ProtoLens.Tag 5, type'__field_descriptor),
-                 (Data.ProtoLens.Tag 6, typeName__field_descriptor),
-                 (Data.ProtoLens.Tag 2, extendee__field_descriptor),
-                 (Data.ProtoLens.Tag 7, defaultValue__field_descriptor),
-                 (Data.ProtoLens.Tag 9, oneofIndex__field_descriptor),
-                 (Data.ProtoLens.Tag 10, jsonName__field_descriptor),
-                 (Data.ProtoLens.Tag 8, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FieldDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_FieldDescriptorProto'_unknownFields = y__})
-        defMessage
-          = FieldDescriptorProto{_FieldDescriptorProto'name =
-                                   Prelude.Nothing,
-                                 _FieldDescriptorProto'number = Prelude.Nothing,
-                                 _FieldDescriptorProto'label = Prelude.Nothing,
-                                 _FieldDescriptorProto'type' = Prelude.Nothing,
-                                 _FieldDescriptorProto'typeName = Prelude.Nothing,
-                                 _FieldDescriptorProto'extendee = Prelude.Nothing,
-                                 _FieldDescriptorProto'defaultValue = Prelude.Nothing,
-                                 _FieldDescriptorProto'oneofIndex = Prelude.Nothing,
-                                 _FieldDescriptorProto'jsonName = Prelude.Nothing,
-                                 _FieldDescriptorProto'options = Prelude.Nothing,
-                                 _FieldDescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData FieldDescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_FieldDescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_FieldDescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_FieldDescriptorProto'number x__)
-                      (Control.DeepSeq.deepseq (_FieldDescriptorProto'label x__)
-                         (Control.DeepSeq.deepseq (_FieldDescriptorProto'type' x__)
-                            (Control.DeepSeq.deepseq (_FieldDescriptorProto'typeName x__)
-                               (Control.DeepSeq.deepseq (_FieldDescriptorProto'extendee x__)
-                                  (Control.DeepSeq.deepseq (_FieldDescriptorProto'defaultValue x__)
-                                     (Control.DeepSeq.deepseq (_FieldDescriptorProto'oneofIndex x__)
-                                        (Control.DeepSeq.deepseq
-                                           (_FieldDescriptorProto'jsonName x__)
-                                           (Control.DeepSeq.deepseq
-                                              (_FieldDescriptorProto'options x__)
-                                              (())))))))))))
-data FieldDescriptorProto'Label = FieldDescriptorProto'LABEL_OPTIONAL
-                                | FieldDescriptorProto'LABEL_REQUIRED
-                                | FieldDescriptorProto'LABEL_REPEATED
-                                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Label
-         where
-        fieldDefault = FieldDescriptorProto'LABEL_OPTIONAL
-instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Label
-         where
-        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
-        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
-        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'LABEL_REPEATED
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldDescriptorProto'LABEL_OPTIONAL = "LABEL_OPTIONAL"
-        showEnum FieldDescriptorProto'LABEL_REQUIRED = "LABEL_REQUIRED"
-        showEnum FieldDescriptorProto'LABEL_REPEATED = "LABEL_REPEATED"
-        readEnum "LABEL_OPTIONAL"
-          = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
-        readEnum "LABEL_REQUIRED"
-          = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
-        readEnum "LABEL_REPEATED"
-          = Prelude.Just FieldDescriptorProto'LABEL_REPEATED
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldDescriptorProto'Label where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum Label: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldDescriptorProto'LABEL_OPTIONAL = 1
-        fromEnum FieldDescriptorProto'LABEL_REQUIRED = 2
-        fromEnum FieldDescriptorProto'LABEL_REPEATED = 3
-        succ FieldDescriptorProto'LABEL_REPEATED
-          = Prelude.error
-              "FieldDescriptorProto'Label.succ: bad argument FieldDescriptorProto'LABEL_REPEATED. This value would be out of bounds."
-        succ FieldDescriptorProto'LABEL_OPTIONAL
-          = FieldDescriptorProto'LABEL_REQUIRED
-        succ FieldDescriptorProto'LABEL_REQUIRED
-          = FieldDescriptorProto'LABEL_REPEATED
-        pred FieldDescriptorProto'LABEL_OPTIONAL
-          = Prelude.error
-              "FieldDescriptorProto'Label.pred: bad argument FieldDescriptorProto'LABEL_OPTIONAL. This value would be out of bounds."
-        pred FieldDescriptorProto'LABEL_REQUIRED
-          = FieldDescriptorProto'LABEL_OPTIONAL
-        pred FieldDescriptorProto'LABEL_REPEATED
-          = FieldDescriptorProto'LABEL_REQUIRED
-        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Prelude.Bounded FieldDescriptorProto'Label where
-        minBound = FieldDescriptorProto'LABEL_OPTIONAL
-        maxBound = FieldDescriptorProto'LABEL_REPEATED
-instance Control.DeepSeq.NFData FieldDescriptorProto'Label where
-        rnf x__ = Prelude.seq x__ (())
-data FieldDescriptorProto'Type = FieldDescriptorProto'TYPE_DOUBLE
-                               | FieldDescriptorProto'TYPE_FLOAT
-                               | FieldDescriptorProto'TYPE_INT64
-                               | FieldDescriptorProto'TYPE_UINT64
-                               | FieldDescriptorProto'TYPE_INT32
-                               | FieldDescriptorProto'TYPE_FIXED64
-                               | FieldDescriptorProto'TYPE_FIXED32
-                               | FieldDescriptorProto'TYPE_BOOL
-                               | FieldDescriptorProto'TYPE_STRING
-                               | FieldDescriptorProto'TYPE_GROUP
-                               | FieldDescriptorProto'TYPE_MESSAGE
-                               | FieldDescriptorProto'TYPE_BYTES
-                               | FieldDescriptorProto'TYPE_UINT32
-                               | FieldDescriptorProto'TYPE_ENUM
-                               | FieldDescriptorProto'TYPE_SFIXED32
-                               | FieldDescriptorProto'TYPE_SFIXED64
-                               | FieldDescriptorProto'TYPE_SINT32
-                               | FieldDescriptorProto'TYPE_SINT64
-                                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Type
-         where
-        fieldDefault = FieldDescriptorProto'TYPE_DOUBLE
-instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Type where
-        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
-        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'TYPE_FLOAT
-        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'TYPE_INT64
-        maybeToEnum 4 = Prelude.Just FieldDescriptorProto'TYPE_UINT64
-        maybeToEnum 5 = Prelude.Just FieldDescriptorProto'TYPE_INT32
-        maybeToEnum 6 = Prelude.Just FieldDescriptorProto'TYPE_FIXED64
-        maybeToEnum 7 = Prelude.Just FieldDescriptorProto'TYPE_FIXED32
-        maybeToEnum 8 = Prelude.Just FieldDescriptorProto'TYPE_BOOL
-        maybeToEnum 9 = Prelude.Just FieldDescriptorProto'TYPE_STRING
-        maybeToEnum 10 = Prelude.Just FieldDescriptorProto'TYPE_GROUP
-        maybeToEnum 11 = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
-        maybeToEnum 12 = Prelude.Just FieldDescriptorProto'TYPE_BYTES
-        maybeToEnum 13 = Prelude.Just FieldDescriptorProto'TYPE_UINT32
-        maybeToEnum 14 = Prelude.Just FieldDescriptorProto'TYPE_ENUM
-        maybeToEnum 15 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
-        maybeToEnum 16 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
-        maybeToEnum 17 = Prelude.Just FieldDescriptorProto'TYPE_SINT32
-        maybeToEnum 18 = Prelude.Just FieldDescriptorProto'TYPE_SINT64
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldDescriptorProto'TYPE_DOUBLE = "TYPE_DOUBLE"
-        showEnum FieldDescriptorProto'TYPE_FLOAT = "TYPE_FLOAT"
-        showEnum FieldDescriptorProto'TYPE_INT64 = "TYPE_INT64"
-        showEnum FieldDescriptorProto'TYPE_UINT64 = "TYPE_UINT64"
-        showEnum FieldDescriptorProto'TYPE_INT32 = "TYPE_INT32"
-        showEnum FieldDescriptorProto'TYPE_FIXED64 = "TYPE_FIXED64"
-        showEnum FieldDescriptorProto'TYPE_FIXED32 = "TYPE_FIXED32"
-        showEnum FieldDescriptorProto'TYPE_BOOL = "TYPE_BOOL"
-        showEnum FieldDescriptorProto'TYPE_STRING = "TYPE_STRING"
-        showEnum FieldDescriptorProto'TYPE_GROUP = "TYPE_GROUP"
-        showEnum FieldDescriptorProto'TYPE_MESSAGE = "TYPE_MESSAGE"
-        showEnum FieldDescriptorProto'TYPE_BYTES = "TYPE_BYTES"
-        showEnum FieldDescriptorProto'TYPE_UINT32 = "TYPE_UINT32"
-        showEnum FieldDescriptorProto'TYPE_ENUM = "TYPE_ENUM"
-        showEnum FieldDescriptorProto'TYPE_SFIXED32 = "TYPE_SFIXED32"
-        showEnum FieldDescriptorProto'TYPE_SFIXED64 = "TYPE_SFIXED64"
-        showEnum FieldDescriptorProto'TYPE_SINT32 = "TYPE_SINT32"
-        showEnum FieldDescriptorProto'TYPE_SINT64 = "TYPE_SINT64"
-        readEnum "TYPE_DOUBLE"
-          = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
-        readEnum "TYPE_FLOAT"
-          = Prelude.Just FieldDescriptorProto'TYPE_FLOAT
-        readEnum "TYPE_INT64"
-          = Prelude.Just FieldDescriptorProto'TYPE_INT64
-        readEnum "TYPE_UINT64"
-          = Prelude.Just FieldDescriptorProto'TYPE_UINT64
-        readEnum "TYPE_INT32"
-          = Prelude.Just FieldDescriptorProto'TYPE_INT32
-        readEnum "TYPE_FIXED64"
-          = Prelude.Just FieldDescriptorProto'TYPE_FIXED64
-        readEnum "TYPE_FIXED32"
-          = Prelude.Just FieldDescriptorProto'TYPE_FIXED32
-        readEnum "TYPE_BOOL" = Prelude.Just FieldDescriptorProto'TYPE_BOOL
-        readEnum "TYPE_STRING"
-          = Prelude.Just FieldDescriptorProto'TYPE_STRING
-        readEnum "TYPE_GROUP"
-          = Prelude.Just FieldDescriptorProto'TYPE_GROUP
-        readEnum "TYPE_MESSAGE"
-          = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
-        readEnum "TYPE_BYTES"
-          = Prelude.Just FieldDescriptorProto'TYPE_BYTES
-        readEnum "TYPE_UINT32"
-          = Prelude.Just FieldDescriptorProto'TYPE_UINT32
-        readEnum "TYPE_ENUM" = Prelude.Just FieldDescriptorProto'TYPE_ENUM
-        readEnum "TYPE_SFIXED32"
-          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
-        readEnum "TYPE_SFIXED64"
-          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
-        readEnum "TYPE_SINT32"
-          = Prelude.Just FieldDescriptorProto'TYPE_SINT32
-        readEnum "TYPE_SINT64"
-          = Prelude.Just FieldDescriptorProto'TYPE_SINT64
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldDescriptorProto'Type where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum Type: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldDescriptorProto'TYPE_DOUBLE = 1
-        fromEnum FieldDescriptorProto'TYPE_FLOAT = 2
-        fromEnum FieldDescriptorProto'TYPE_INT64 = 3
-        fromEnum FieldDescriptorProto'TYPE_UINT64 = 4
-        fromEnum FieldDescriptorProto'TYPE_INT32 = 5
-        fromEnum FieldDescriptorProto'TYPE_FIXED64 = 6
-        fromEnum FieldDescriptorProto'TYPE_FIXED32 = 7
-        fromEnum FieldDescriptorProto'TYPE_BOOL = 8
-        fromEnum FieldDescriptorProto'TYPE_STRING = 9
-        fromEnum FieldDescriptorProto'TYPE_GROUP = 10
-        fromEnum FieldDescriptorProto'TYPE_MESSAGE = 11
-        fromEnum FieldDescriptorProto'TYPE_BYTES = 12
-        fromEnum FieldDescriptorProto'TYPE_UINT32 = 13
-        fromEnum FieldDescriptorProto'TYPE_ENUM = 14
-        fromEnum FieldDescriptorProto'TYPE_SFIXED32 = 15
-        fromEnum FieldDescriptorProto'TYPE_SFIXED64 = 16
-        fromEnum FieldDescriptorProto'TYPE_SINT32 = 17
-        fromEnum FieldDescriptorProto'TYPE_SINT64 = 18
-        succ FieldDescriptorProto'TYPE_SINT64
-          = Prelude.error
-              "FieldDescriptorProto'Type.succ: bad argument FieldDescriptorProto'TYPE_SINT64. This value would be out of bounds."
-        succ FieldDescriptorProto'TYPE_DOUBLE
-          = FieldDescriptorProto'TYPE_FLOAT
-        succ FieldDescriptorProto'TYPE_FLOAT
-          = FieldDescriptorProto'TYPE_INT64
-        succ FieldDescriptorProto'TYPE_INT64
-          = FieldDescriptorProto'TYPE_UINT64
-        succ FieldDescriptorProto'TYPE_UINT64
-          = FieldDescriptorProto'TYPE_INT32
-        succ FieldDescriptorProto'TYPE_INT32
-          = FieldDescriptorProto'TYPE_FIXED64
-        succ FieldDescriptorProto'TYPE_FIXED64
-          = FieldDescriptorProto'TYPE_FIXED32
-        succ FieldDescriptorProto'TYPE_FIXED32
-          = FieldDescriptorProto'TYPE_BOOL
-        succ FieldDescriptorProto'TYPE_BOOL
-          = FieldDescriptorProto'TYPE_STRING
-        succ FieldDescriptorProto'TYPE_STRING
-          = FieldDescriptorProto'TYPE_GROUP
-        succ FieldDescriptorProto'TYPE_GROUP
-          = FieldDescriptorProto'TYPE_MESSAGE
-        succ FieldDescriptorProto'TYPE_MESSAGE
-          = FieldDescriptorProto'TYPE_BYTES
-        succ FieldDescriptorProto'TYPE_BYTES
-          = FieldDescriptorProto'TYPE_UINT32
-        succ FieldDescriptorProto'TYPE_UINT32
-          = FieldDescriptorProto'TYPE_ENUM
-        succ FieldDescriptorProto'TYPE_ENUM
-          = FieldDescriptorProto'TYPE_SFIXED32
-        succ FieldDescriptorProto'TYPE_SFIXED32
-          = FieldDescriptorProto'TYPE_SFIXED64
-        succ FieldDescriptorProto'TYPE_SFIXED64
-          = FieldDescriptorProto'TYPE_SINT32
-        succ FieldDescriptorProto'TYPE_SINT32
-          = FieldDescriptorProto'TYPE_SINT64
-        pred FieldDescriptorProto'TYPE_DOUBLE
-          = Prelude.error
-              "FieldDescriptorProto'Type.pred: bad argument FieldDescriptorProto'TYPE_DOUBLE. This value would be out of bounds."
-        pred FieldDescriptorProto'TYPE_FLOAT
-          = FieldDescriptorProto'TYPE_DOUBLE
-        pred FieldDescriptorProto'TYPE_INT64
-          = FieldDescriptorProto'TYPE_FLOAT
-        pred FieldDescriptorProto'TYPE_UINT64
-          = FieldDescriptorProto'TYPE_INT64
-        pred FieldDescriptorProto'TYPE_INT32
-          = FieldDescriptorProto'TYPE_UINT64
-        pred FieldDescriptorProto'TYPE_FIXED64
-          = FieldDescriptorProto'TYPE_INT32
-        pred FieldDescriptorProto'TYPE_FIXED32
-          = FieldDescriptorProto'TYPE_FIXED64
-        pred FieldDescriptorProto'TYPE_BOOL
-          = FieldDescriptorProto'TYPE_FIXED32
-        pred FieldDescriptorProto'TYPE_STRING
-          = FieldDescriptorProto'TYPE_BOOL
-        pred FieldDescriptorProto'TYPE_GROUP
-          = FieldDescriptorProto'TYPE_STRING
-        pred FieldDescriptorProto'TYPE_MESSAGE
-          = FieldDescriptorProto'TYPE_GROUP
-        pred FieldDescriptorProto'TYPE_BYTES
-          = FieldDescriptorProto'TYPE_MESSAGE
-        pred FieldDescriptorProto'TYPE_UINT32
-          = FieldDescriptorProto'TYPE_BYTES
-        pred FieldDescriptorProto'TYPE_ENUM
-          = FieldDescriptorProto'TYPE_UINT32
-        pred FieldDescriptorProto'TYPE_SFIXED32
-          = FieldDescriptorProto'TYPE_ENUM
-        pred FieldDescriptorProto'TYPE_SFIXED64
-          = FieldDescriptorProto'TYPE_SFIXED32
-        pred FieldDescriptorProto'TYPE_SINT32
-          = FieldDescriptorProto'TYPE_SFIXED64
-        pred FieldDescriptorProto'TYPE_SINT64
-          = FieldDescriptorProto'TYPE_SINT32
-        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Prelude.Bounded FieldDescriptorProto'Type where
-        minBound = FieldDescriptorProto'TYPE_DOUBLE
-        maxBound = FieldDescriptorProto'TYPE_SINT64
-instance Control.DeepSeq.NFData FieldDescriptorProto'Type where
-        rnf x__ = Prelude.seq x__ (())
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.ctype' @:: Lens' FieldOptions FieldOptions'CType@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ctype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'CType)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.packed' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'packed' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.jstype' @:: Lens' FieldOptions FieldOptions'JSType@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jstype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'JSType)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.lazy' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'lazy' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.weak' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'weak' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FieldOptions [UninterpretedOption]@
- -}
-data FieldOptions = FieldOptions{_FieldOptions'ctype ::
-                                 !(Prelude.Maybe FieldOptions'CType),
-                                 _FieldOptions'packed :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'jstype :: !(Prelude.Maybe FieldOptions'JSType),
-                                 _FieldOptions'lazy :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'weak :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'uninterpretedOption :: ![UninterpretedOption],
-                                 _FieldOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                      deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show FieldOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' FieldOptions "ctype"
-           (FieldOptions'CType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'ctype
-                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
-              (Data.ProtoLens.maybeLens FieldOptions'STRING)
-instance Lens.Labels.HasLens' FieldOptions "maybe'ctype"
-           (Prelude.Maybe FieldOptions'CType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'ctype
-                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldOptions "packed" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'packed
-                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FieldOptions "maybe'packed"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'packed
-                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldOptions "jstype"
-           (FieldOptions'JSType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'jstype
-                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
-              (Data.ProtoLens.maybeLens FieldOptions'JS_NORMAL)
-instance Lens.Labels.HasLens' FieldOptions "maybe'jstype"
-           (Prelude.Maybe FieldOptions'JSType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'jstype
-                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldOptions "lazy" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'lazy
-                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FieldOptions "maybe'lazy"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'lazy
-                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldOptions "deprecated"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
-                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FieldOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
-                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldOptions "weak" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'weak
-                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FieldOptions "maybe'weak"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'weak
-                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FieldOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_FieldOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message FieldOptions where
-        messageName _ = Data.Text.pack "google.protobuf.FieldOptions"
-        fieldsByTag
-          = let ctype__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "ctype"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'CType)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                packed__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "packed"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                jstype__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "jstype"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'JSType)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                lazy__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "lazy"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                weak__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "weak"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, ctype__field_descriptor),
-                 (Data.ProtoLens.Tag 2, packed__field_descriptor),
-                 (Data.ProtoLens.Tag 6, jstype__field_descriptor),
-                 (Data.ProtoLens.Tag 5, lazy__field_descriptor),
-                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 10, weak__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FieldOptions'_unknownFields
-              (\ x__ y__ -> x__{_FieldOptions'_unknownFields = y__})
-        defMessage
-          = FieldOptions{_FieldOptions'ctype = Prelude.Nothing,
-                         _FieldOptions'packed = Prelude.Nothing,
-                         _FieldOptions'jstype = Prelude.Nothing,
-                         _FieldOptions'lazy = Prelude.Nothing,
-                         _FieldOptions'deprecated = Prelude.Nothing,
-                         _FieldOptions'weak = Prelude.Nothing,
-                         _FieldOptions'uninterpretedOption = [],
-                         _FieldOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData FieldOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_FieldOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_FieldOptions'ctype x__)
-                   (Control.DeepSeq.deepseq (_FieldOptions'packed x__)
-                      (Control.DeepSeq.deepseq (_FieldOptions'jstype x__)
-                         (Control.DeepSeq.deepseq (_FieldOptions'lazy x__)
-                            (Control.DeepSeq.deepseq (_FieldOptions'deprecated x__)
-                               (Control.DeepSeq.deepseq (_FieldOptions'weak x__)
-                                  (Control.DeepSeq.deepseq (_FieldOptions'uninterpretedOption x__)
-                                     (()))))))))
-data FieldOptions'CType = FieldOptions'STRING
-                        | FieldOptions'CORD
-                        | FieldOptions'STRING_PIECE
-                            deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.FieldDefault FieldOptions'CType where
-        fieldDefault = FieldOptions'STRING
-instance Data.ProtoLens.MessageEnum FieldOptions'CType where
-        maybeToEnum 0 = Prelude.Just FieldOptions'STRING
-        maybeToEnum 1 = Prelude.Just FieldOptions'CORD
-        maybeToEnum 2 = Prelude.Just FieldOptions'STRING_PIECE
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldOptions'STRING = "STRING"
-        showEnum FieldOptions'CORD = "CORD"
-        showEnum FieldOptions'STRING_PIECE = "STRING_PIECE"
-        readEnum "STRING" = Prelude.Just FieldOptions'STRING
-        readEnum "CORD" = Prelude.Just FieldOptions'CORD
-        readEnum "STRING_PIECE" = Prelude.Just FieldOptions'STRING_PIECE
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldOptions'CType where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum CType: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldOptions'STRING = 0
-        fromEnum FieldOptions'CORD = 1
-        fromEnum FieldOptions'STRING_PIECE = 2
-        succ FieldOptions'STRING_PIECE
-          = Prelude.error
-              "FieldOptions'CType.succ: bad argument FieldOptions'STRING_PIECE. This value would be out of bounds."
-        succ FieldOptions'STRING = FieldOptions'CORD
-        succ FieldOptions'CORD = FieldOptions'STRING_PIECE
-        pred FieldOptions'STRING
-          = Prelude.error
-              "FieldOptions'CType.pred: bad argument FieldOptions'STRING. This value would be out of bounds."
-        pred FieldOptions'CORD = FieldOptions'STRING
-        pred FieldOptions'STRING_PIECE = FieldOptions'CORD
-        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Prelude.Bounded FieldOptions'CType where
-        minBound = FieldOptions'STRING
-        maxBound = FieldOptions'STRING_PIECE
-instance Control.DeepSeq.NFData FieldOptions'CType where
-        rnf x__ = Prelude.seq x__ (())
-data FieldOptions'JSType = FieldOptions'JS_NORMAL
-                         | FieldOptions'JS_STRING
-                         | FieldOptions'JS_NUMBER
-                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.FieldDefault FieldOptions'JSType where
-        fieldDefault = FieldOptions'JS_NORMAL
-instance Data.ProtoLens.MessageEnum FieldOptions'JSType where
-        maybeToEnum 0 = Prelude.Just FieldOptions'JS_NORMAL
-        maybeToEnum 1 = Prelude.Just FieldOptions'JS_STRING
-        maybeToEnum 2 = Prelude.Just FieldOptions'JS_NUMBER
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldOptions'JS_NORMAL = "JS_NORMAL"
-        showEnum FieldOptions'JS_STRING = "JS_STRING"
-        showEnum FieldOptions'JS_NUMBER = "JS_NUMBER"
-        readEnum "JS_NORMAL" = Prelude.Just FieldOptions'JS_NORMAL
-        readEnum "JS_STRING" = Prelude.Just FieldOptions'JS_STRING
-        readEnum "JS_NUMBER" = Prelude.Just FieldOptions'JS_NUMBER
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldOptions'JSType where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum JSType: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldOptions'JS_NORMAL = 0
-        fromEnum FieldOptions'JS_STRING = 1
-        fromEnum FieldOptions'JS_NUMBER = 2
-        succ FieldOptions'JS_NUMBER
-          = Prelude.error
-              "FieldOptions'JSType.succ: bad argument FieldOptions'JS_NUMBER. This value would be out of bounds."
-        succ FieldOptions'JS_NORMAL = FieldOptions'JS_STRING
-        succ FieldOptions'JS_STRING = FieldOptions'JS_NUMBER
-        pred FieldOptions'JS_NORMAL
-          = Prelude.error
-              "FieldOptions'JSType.pred: bad argument FieldOptions'JS_NORMAL. This value would be out of bounds."
-        pred FieldOptions'JS_STRING = FieldOptions'JS_NORMAL
-        pred FieldOptions'JS_NUMBER = FieldOptions'JS_STRING
-        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Prelude.Bounded FieldOptions'JSType where
-        minBound = FieldOptions'JS_NORMAL
-        maxBound = FieldOptions'JS_NUMBER
-instance Control.DeepSeq.NFData FieldOptions'JSType where
-        rnf x__ = Prelude.seq x__ (())
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FileDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.package' @:: Lens' FileDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'package' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.dependency' @:: Lens' FileDescriptorProto [Data.Text.Text]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.publicDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.weakDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.messageType' @:: Lens' FileDescriptorProto [DescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' FileDescriptorProto [EnumDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.service' @:: Lens' FileDescriptorProto [ServiceDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' FileDescriptorProto [FieldDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FileDescriptorProto FileOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FileDescriptorProto (Prelude.Maybe FileOptions)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceCodeInfo' @:: Lens' FileDescriptorProto SourceCodeInfo@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceCodeInfo' @:: Lens' FileDescriptorProto (Prelude.Maybe SourceCodeInfo)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.syntax' @:: Lens' FileDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'syntax' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
- -}
-data FileDescriptorProto = FileDescriptorProto{_FileDescriptorProto'name
-                                               :: !(Prelude.Maybe Data.Text.Text),
-                                               _FileDescriptorProto'package ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _FileDescriptorProto'dependency :: ![Data.Text.Text],
-                                               _FileDescriptorProto'publicDependency ::
-                                               ![Data.Int.Int32],
-                                               _FileDescriptorProto'weakDependency ::
-                                               ![Data.Int.Int32],
-                                               _FileDescriptorProto'messageType ::
-                                               ![DescriptorProto],
-                                               _FileDescriptorProto'enumType ::
-                                               ![EnumDescriptorProto],
-                                               _FileDescriptorProto'service ::
-                                               ![ServiceDescriptorProto],
-                                               _FileDescriptorProto'extension ::
-                                               ![FieldDescriptorProto],
-                                               _FileDescriptorProto'options ::
-                                               !(Prelude.Maybe FileOptions),
-                                               _FileDescriptorProto'sourceCodeInfo ::
-                                               !(Prelude.Maybe SourceCodeInfo),
-                                               _FileDescriptorProto'syntax ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _FileDescriptorProto'_unknownFields ::
-                                               !Data.ProtoLens.FieldSet}
-                             deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show FileDescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' FileDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
-                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
-                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "package"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
-                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileDescriptorProto "maybe'package"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
-                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "dependency"
-           ([Data.Text.Text])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'dependency
-                 (\ x__ y__ -> x__{_FileDescriptorProto'dependency = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto
-           "publicDependency"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'publicDependency
-                 (\ x__ y__ -> x__{_FileDescriptorProto'publicDependency = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "weakDependency"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'weakDependency
-                 (\ x__ y__ -> x__{_FileDescriptorProto'weakDependency = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "messageType"
-           ([DescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'messageType
-                 (\ x__ y__ -> x__{_FileDescriptorProto'messageType = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "enumType"
-           ([EnumDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'enumType
-                 (\ x__ y__ -> x__{_FileDescriptorProto'enumType = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "service"
-           ([ServiceDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'service
-                 (\ x__ y__ -> x__{_FileDescriptorProto'service = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "extension"
-           ([FieldDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'extension
-                 (\ x__ y__ -> x__{_FileDescriptorProto'extension = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "options"
-           (FileOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
-                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' FileDescriptorProto "maybe'options"
-           (Prelude.Maybe FileOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
-                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "sourceCodeInfo"
-           (SourceCodeInfo)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
-                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' FileDescriptorProto
-           "maybe'sourceCodeInfo"
-           (Prelude.Maybe SourceCodeInfo)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
-                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileDescriptorProto "syntax"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
-                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileDescriptorProto "maybe'syntax"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
-                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message FileDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.FileDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                package__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "package"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                dependency__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "dependency"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                publicDependency__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "public_dependency"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                weakDependency__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "weak_dependency"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weakDependency")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                messageType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "message_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                enumType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "enum_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                service__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "service"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor ServiceDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                extension__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extension"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FileOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                sourceCodeInfo__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "source_code_info"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                syntax__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "syntax"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, package__field_descriptor),
-                 (Data.ProtoLens.Tag 3, dependency__field_descriptor),
-                 (Data.ProtoLens.Tag 10, publicDependency__field_descriptor),
-                 (Data.ProtoLens.Tag 11, weakDependency__field_descriptor),
-                 (Data.ProtoLens.Tag 4, messageType__field_descriptor),
-                 (Data.ProtoLens.Tag 5, enumType__field_descriptor),
-                 (Data.ProtoLens.Tag 6, service__field_descriptor),
-                 (Data.ProtoLens.Tag 7, extension__field_descriptor),
-                 (Data.ProtoLens.Tag 8, options__field_descriptor),
-                 (Data.ProtoLens.Tag 9, sourceCodeInfo__field_descriptor),
-                 (Data.ProtoLens.Tag 12, syntax__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FileDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_FileDescriptorProto'_unknownFields = y__})
-        defMessage
-          = FileDescriptorProto{_FileDescriptorProto'name = Prelude.Nothing,
-                                _FileDescriptorProto'package = Prelude.Nothing,
-                                _FileDescriptorProto'dependency = [],
-                                _FileDescriptorProto'publicDependency = [],
-                                _FileDescriptorProto'weakDependency = [],
-                                _FileDescriptorProto'messageType = [],
-                                _FileDescriptorProto'enumType = [],
-                                _FileDescriptorProto'service = [],
-                                _FileDescriptorProto'extension = [],
-                                _FileDescriptorProto'options = Prelude.Nothing,
-                                _FileDescriptorProto'sourceCodeInfo = Prelude.Nothing,
-                                _FileDescriptorProto'syntax = Prelude.Nothing,
-                                _FileDescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData FileDescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_FileDescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_FileDescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_FileDescriptorProto'package x__)
-                      (Control.DeepSeq.deepseq (_FileDescriptorProto'dependency x__)
-                         (Control.DeepSeq.deepseq
-                            (_FileDescriptorProto'publicDependency x__)
-                            (Control.DeepSeq.deepseq (_FileDescriptorProto'weakDependency x__)
-                               (Control.DeepSeq.deepseq (_FileDescriptorProto'messageType x__)
-                                  (Control.DeepSeq.deepseq (_FileDescriptorProto'enumType x__)
-                                     (Control.DeepSeq.deepseq (_FileDescriptorProto'service x__)
-                                        (Control.DeepSeq.deepseq
-                                           (_FileDescriptorProto'extension x__)
-                                           (Control.DeepSeq.deepseq
-                                              (_FileDescriptorProto'options x__)
-                                              (Control.DeepSeq.deepseq
-                                                 (_FileDescriptorProto'sourceCodeInfo x__)
-                                                 (Control.DeepSeq.deepseq
-                                                    (_FileDescriptorProto'syntax x__)
-                                                    (())))))))))))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.file' @:: Lens' FileDescriptorSet [FileDescriptorProto]@
- -}
-data FileDescriptorSet = FileDescriptorSet{_FileDescriptorSet'file
-                                           :: ![FileDescriptorProto],
-                                           _FileDescriptorSet'_unknownFields ::
-                                           !Data.ProtoLens.FieldSet}
-                           deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show FileDescriptorSet where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' FileDescriptorSet "file"
-           ([FileDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorSet'file
-                 (\ x__ y__ -> x__{_FileDescriptorSet'file = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message FileDescriptorSet where
-        messageName _ = Data.Text.pack "google.protobuf.FileDescriptorSet"
-        fieldsByTag
-          = let file__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "file"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FileDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorSet
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, file__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FileDescriptorSet'_unknownFields
-              (\ x__ y__ -> x__{_FileDescriptorSet'_unknownFields = y__})
-        defMessage
-          = FileDescriptorSet{_FileDescriptorSet'file = [],
-                              _FileDescriptorSet'_unknownFields = ([])}
-instance Control.DeepSeq.NFData FileDescriptorSet where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_FileDescriptorSet'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_FileDescriptorSet'file x__) (()))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaPackage' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaOuterClassname' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaOuterClassname' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaMultipleFiles' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaMultipleFiles' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenerateEqualsAndHash' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenerateEqualsAndHash' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaStringCheckUtf8' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaStringCheckUtf8' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.optimizeFor' @:: Lens' FileOptions FileOptions'OptimizeMode@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'optimizeFor' @:: Lens' FileOptions (Prelude.Maybe FileOptions'OptimizeMode)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.goPackage' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'goPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.ccGenericServices' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenericServices' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.pyGenericServices' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'pyGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.phpGenericServices' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.ccEnableArenas' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccEnableArenas' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.objcClassPrefix' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'objcClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.csharpNamespace' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'csharpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.swiftPrefix' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'swiftPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.phpClassPrefix' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.phpNamespace' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.phpMetadataNamespace' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpMetadataNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.rubyPackage' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'rubyPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FileOptions [UninterpretedOption]@
- -}
-data FileOptions = FileOptions{_FileOptions'javaPackage ::
-                               !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'javaOuterClassname :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'javaMultipleFiles :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'javaGenerateEqualsAndHash ::
-                               !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'javaStringCheckUtf8 :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'optimizeFor ::
-                               !(Prelude.Maybe FileOptions'OptimizeMode),
-                               _FileOptions'goPackage :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'ccGenericServices :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'javaGenericServices :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'pyGenericServices :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'phpGenericServices :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'ccEnableArenas :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'objcClassPrefix :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'csharpNamespace :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'swiftPrefix :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'phpClassPrefix :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'phpNamespace :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'phpMetadataNamespace ::
-                               !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'rubyPackage :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'uninterpretedOption :: ![UninterpretedOption],
-                               _FileOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                     deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show FileOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' FileOptions "javaPackage"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
-                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'javaPackage"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
-                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "javaOuterClassname"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
-                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions
-           "maybe'javaOuterClassname"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
-                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "javaMultipleFiles"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
-                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions "maybe'javaMultipleFiles"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
-                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions
-           "javaGenerateEqualsAndHash"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash
-                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions
-           "maybe'javaGenerateEqualsAndHash"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash
-                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "javaStringCheckUtf8"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
-                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions
-           "maybe'javaStringCheckUtf8"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
-                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "optimizeFor"
-           (FileOptions'OptimizeMode)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
-                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
-              (Data.ProtoLens.maybeLens FileOptions'SPEED)
-instance Lens.Labels.HasLens' FileOptions "maybe'optimizeFor"
-           (Prelude.Maybe FileOptions'OptimizeMode)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
-                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "goPackage"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'goPackage
-                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'goPackage"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'goPackage
-                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "ccGenericServices"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions "maybe'ccGenericServices"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "javaGenericServices"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions
-           "maybe'javaGenericServices"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "pyGenericServices"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions "maybe'pyGenericServices"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "phpGenericServices"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'phpGenericServices = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions
-           "maybe'phpGenericServices"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'phpGenericServices = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "deprecated"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'deprecated
-                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'deprecated
-                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "ccEnableArenas"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
-                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' FileOptions "maybe'ccEnableArenas"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
-                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "objcClassPrefix"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
-                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'objcClassPrefix"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
-                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "csharpNamespace"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
-                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'csharpNamespace"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
-                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "swiftPrefix"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'swiftPrefix
-                 (\ x__ y__ -> x__{_FileOptions'swiftPrefix = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'swiftPrefix"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'swiftPrefix
-                 (\ x__ y__ -> x__{_FileOptions'swiftPrefix = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "phpClassPrefix"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpClassPrefix
-                 (\ x__ y__ -> x__{_FileOptions'phpClassPrefix = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'phpClassPrefix"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpClassPrefix
-                 (\ x__ y__ -> x__{_FileOptions'phpClassPrefix = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "phpNamespace"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpNamespace
-                 (\ x__ y__ -> x__{_FileOptions'phpNamespace = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'phpNamespace"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpNamespace
-                 (\ x__ y__ -> x__{_FileOptions'phpNamespace = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "phpMetadataNamespace"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpMetadataNamespace
-                 (\ x__ y__ -> x__{_FileOptions'phpMetadataNamespace = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions
-           "maybe'phpMetadataNamespace"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'phpMetadataNamespace
-                 (\ x__ y__ -> x__{_FileOptions'phpMetadataNamespace = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "rubyPackage"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'rubyPackage
-                 (\ x__ y__ -> x__{_FileOptions'rubyPackage = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' FileOptions "maybe'rubyPackage"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'rubyPackage
-                 (\ x__ y__ -> x__{_FileOptions'rubyPackage = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' FileOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_FileOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message FileOptions where
-        messageName _ = Data.Text.pack "google.protobuf.FileOptions"
-        fieldsByTag
-          = let javaPackage__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_package"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaPackage")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaOuterClassname__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_outer_classname"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaOuterClassname")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaMultipleFiles__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_multiple_files"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaGenerateEqualsAndHash__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_generate_equals_and_hash"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaStringCheckUtf8__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_string_check_utf8"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                optimizeFor__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "optimize_for"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FileOptions'OptimizeMode)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'optimizeFor")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                goPackage__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "go_package"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                ccGenericServices__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "cc_generic_services"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'ccGenericServices")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaGenericServices__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_generic_services"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaGenericServices")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                pyGenericServices__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "py_generic_services"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'pyGenericServices")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                phpGenericServices__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "php_generic_services"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'phpGenericServices")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                ccEnableArenas__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "cc_enable_arenas"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'ccEnableArenas")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                objcClassPrefix__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "objc_class_prefix"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'objcClassPrefix")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                csharpNamespace__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "csharp_namespace"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'csharpNamespace")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                swiftPrefix__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "swift_prefix"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'swiftPrefix")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                phpClassPrefix__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "php_class_prefix"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'phpClassPrefix")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                phpNamespace__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "php_namespace"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'phpNamespace")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                phpMetadataNamespace__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "php_metadata_namespace"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'phpMetadataNamespace")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                rubyPackage__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "ruby_package"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'rubyPackage")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, javaPackage__field_descriptor),
-                 (Data.ProtoLens.Tag 8, javaOuterClassname__field_descriptor),
-                 (Data.ProtoLens.Tag 10, javaMultipleFiles__field_descriptor),
-                 (Data.ProtoLens.Tag 20,
-                  javaGenerateEqualsAndHash__field_descriptor),
-                 (Data.ProtoLens.Tag 27, javaStringCheckUtf8__field_descriptor),
-                 (Data.ProtoLens.Tag 9, optimizeFor__field_descriptor),
-                 (Data.ProtoLens.Tag 11, goPackage__field_descriptor),
-                 (Data.ProtoLens.Tag 16, ccGenericServices__field_descriptor),
-                 (Data.ProtoLens.Tag 17, javaGenericServices__field_descriptor),
-                 (Data.ProtoLens.Tag 18, pyGenericServices__field_descriptor),
-                 (Data.ProtoLens.Tag 42, phpGenericServices__field_descriptor),
-                 (Data.ProtoLens.Tag 23, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 31, ccEnableArenas__field_descriptor),
-                 (Data.ProtoLens.Tag 36, objcClassPrefix__field_descriptor),
-                 (Data.ProtoLens.Tag 37, csharpNamespace__field_descriptor),
-                 (Data.ProtoLens.Tag 39, swiftPrefix__field_descriptor),
-                 (Data.ProtoLens.Tag 40, phpClassPrefix__field_descriptor),
-                 (Data.ProtoLens.Tag 41, phpNamespace__field_descriptor),
-                 (Data.ProtoLens.Tag 44, phpMetadataNamespace__field_descriptor),
-                 (Data.ProtoLens.Tag 45, rubyPackage__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FileOptions'_unknownFields
-              (\ x__ y__ -> x__{_FileOptions'_unknownFields = y__})
-        defMessage
-          = FileOptions{_FileOptions'javaPackage = Prelude.Nothing,
-                        _FileOptions'javaOuterClassname = Prelude.Nothing,
-                        _FileOptions'javaMultipleFiles = Prelude.Nothing,
-                        _FileOptions'javaGenerateEqualsAndHash = Prelude.Nothing,
-                        _FileOptions'javaStringCheckUtf8 = Prelude.Nothing,
-                        _FileOptions'optimizeFor = Prelude.Nothing,
-                        _FileOptions'goPackage = Prelude.Nothing,
-                        _FileOptions'ccGenericServices = Prelude.Nothing,
-                        _FileOptions'javaGenericServices = Prelude.Nothing,
-                        _FileOptions'pyGenericServices = Prelude.Nothing,
-                        _FileOptions'phpGenericServices = Prelude.Nothing,
-                        _FileOptions'deprecated = Prelude.Nothing,
-                        _FileOptions'ccEnableArenas = Prelude.Nothing,
-                        _FileOptions'objcClassPrefix = Prelude.Nothing,
-                        _FileOptions'csharpNamespace = Prelude.Nothing,
-                        _FileOptions'swiftPrefix = Prelude.Nothing,
-                        _FileOptions'phpClassPrefix = Prelude.Nothing,
-                        _FileOptions'phpNamespace = Prelude.Nothing,
-                        _FileOptions'phpMetadataNamespace = Prelude.Nothing,
-                        _FileOptions'rubyPackage = Prelude.Nothing,
-                        _FileOptions'uninterpretedOption = [],
-                        _FileOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData FileOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_FileOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_FileOptions'javaPackage x__)
-                   (Control.DeepSeq.deepseq (_FileOptions'javaOuterClassname x__)
-                      (Control.DeepSeq.deepseq (_FileOptions'javaMultipleFiles x__)
-                         (Control.DeepSeq.deepseq
-                            (_FileOptions'javaGenerateEqualsAndHash x__)
-                            (Control.DeepSeq.deepseq (_FileOptions'javaStringCheckUtf8 x__)
-                               (Control.DeepSeq.deepseq (_FileOptions'optimizeFor x__)
-                                  (Control.DeepSeq.deepseq (_FileOptions'goPackage x__)
-                                     (Control.DeepSeq.deepseq (_FileOptions'ccGenericServices x__)
-                                        (Control.DeepSeq.deepseq
-                                           (_FileOptions'javaGenericServices x__)
-                                           (Control.DeepSeq.deepseq
-                                              (_FileOptions'pyGenericServices x__)
-                                              (Control.DeepSeq.deepseq
-                                                 (_FileOptions'phpGenericServices x__)
-                                                 (Control.DeepSeq.deepseq
-                                                    (_FileOptions'deprecated x__)
-                                                    (Control.DeepSeq.deepseq
-                                                       (_FileOptions'ccEnableArenas x__)
-                                                       (Control.DeepSeq.deepseq
-                                                          (_FileOptions'objcClassPrefix x__)
-                                                          (Control.DeepSeq.deepseq
-                                                             (_FileOptions'csharpNamespace x__)
-                                                             (Control.DeepSeq.deepseq
-                                                                (_FileOptions'swiftPrefix x__)
-                                                                (Control.DeepSeq.deepseq
-                                                                   (_FileOptions'phpClassPrefix x__)
-                                                                   (Control.DeepSeq.deepseq
-                                                                      (_FileOptions'phpNamespace
-                                                                         x__)
-                                                                      (Control.DeepSeq.deepseq
-                                                                         (_FileOptions'phpMetadataNamespace
-                                                                            x__)
-                                                                         (Control.DeepSeq.deepseq
-                                                                            (_FileOptions'rubyPackage
-                                                                               x__)
-                                                                            (Control.DeepSeq.deepseq
-                                                                               (_FileOptions'uninterpretedOption
-                                                                                  x__)
-                                                                               (()))))))))))))))))))))))
-data FileOptions'OptimizeMode = FileOptions'SPEED
-                              | FileOptions'CODE_SIZE
-                              | FileOptions'LITE_RUNTIME
-                                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.FieldDefault FileOptions'OptimizeMode where
-        fieldDefault = FileOptions'SPEED
-instance Data.ProtoLens.MessageEnum FileOptions'OptimizeMode where
-        maybeToEnum 1 = Prelude.Just FileOptions'SPEED
-        maybeToEnum 2 = Prelude.Just FileOptions'CODE_SIZE
-        maybeToEnum 3 = Prelude.Just FileOptions'LITE_RUNTIME
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FileOptions'SPEED = "SPEED"
-        showEnum FileOptions'CODE_SIZE = "CODE_SIZE"
-        showEnum FileOptions'LITE_RUNTIME = "LITE_RUNTIME"
-        readEnum "SPEED" = Prelude.Just FileOptions'SPEED
-        readEnum "CODE_SIZE" = Prelude.Just FileOptions'CODE_SIZE
-        readEnum "LITE_RUNTIME" = Prelude.Just FileOptions'LITE_RUNTIME
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FileOptions'OptimizeMode where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum OptimizeMode: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FileOptions'SPEED = 1
-        fromEnum FileOptions'CODE_SIZE = 2
-        fromEnum FileOptions'LITE_RUNTIME = 3
-        succ FileOptions'LITE_RUNTIME
-          = Prelude.error
-              "FileOptions'OptimizeMode.succ: bad argument FileOptions'LITE_RUNTIME. This value would be out of bounds."
-        succ FileOptions'SPEED = FileOptions'CODE_SIZE
-        succ FileOptions'CODE_SIZE = FileOptions'LITE_RUNTIME
-        pred FileOptions'SPEED
-          = Prelude.error
-              "FileOptions'OptimizeMode.pred: bad argument FileOptions'SPEED. This value would be out of bounds."
-        pred FileOptions'CODE_SIZE = FileOptions'SPEED
-        pred FileOptions'LITE_RUNTIME = FileOptions'CODE_SIZE
-        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Prelude.Bounded FileOptions'OptimizeMode where
-        minBound = FileOptions'SPEED
-        maxBound = FileOptions'LITE_RUNTIME
-instance Control.DeepSeq.NFData FileOptions'OptimizeMode where
-        rnf x__ = Prelude.seq x__ (())
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.annotation' @:: Lens' GeneratedCodeInfo [GeneratedCodeInfo'Annotation]@
- -}
-data GeneratedCodeInfo = GeneratedCodeInfo{_GeneratedCodeInfo'annotation
-                                           :: ![GeneratedCodeInfo'Annotation],
-                                           _GeneratedCodeInfo'_unknownFields ::
-                                           !Data.ProtoLens.FieldSet}
-                           deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show GeneratedCodeInfo where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' GeneratedCodeInfo "annotation"
-           ([GeneratedCodeInfo'Annotation])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'annotation
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'annotation = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message GeneratedCodeInfo where
-        messageName _ = Data.Text.pack "google.protobuf.GeneratedCodeInfo"
-        fieldsByTag
-          = let annotation__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "annotation"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor GeneratedCodeInfo'Annotation)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, annotation__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _GeneratedCodeInfo'_unknownFields
-              (\ x__ y__ -> x__{_GeneratedCodeInfo'_unknownFields = y__})
-        defMessage
-          = GeneratedCodeInfo{_GeneratedCodeInfo'annotation = [],
-                              _GeneratedCodeInfo'_unknownFields = ([])}
-instance Control.DeepSeq.NFData GeneratedCodeInfo where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_GeneratedCodeInfo'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_GeneratedCodeInfo'annotation x__) (()))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' GeneratedCodeInfo'Annotation [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceFile' @:: Lens' GeneratedCodeInfo'Annotation Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceFile' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.begin' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'begin' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
- -}
-data GeneratedCodeInfo'Annotation = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path
-                                                                 :: ![Data.Int.Int32],
-                                                                 _GeneratedCodeInfo'Annotation'sourceFile
-                                                                 :: !(Prelude.Maybe Data.Text.Text),
-                                                                 _GeneratedCodeInfo'Annotation'begin
-                                                                 :: !(Prelude.Maybe Data.Int.Int32),
-                                                                 _GeneratedCodeInfo'Annotation'end
-                                                                 :: !(Prelude.Maybe Data.Int.Int32),
-                                                                 _GeneratedCodeInfo'Annotation'_unknownFields
-                                                                 :: !Data.ProtoLens.FieldSet}
-                                      deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show GeneratedCodeInfo'Annotation where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation "path"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'path
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'path = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
-           "sourceFile"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _GeneratedCodeInfo'Annotation'sourceFile
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
-           "maybe'sourceFile"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _GeneratedCodeInfo'Annotation'sourceFile
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation "begin"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
-           "maybe'begin"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation "end"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
-           "maybe'end"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message GeneratedCodeInfo'Annotation where
-        messageName _
-          = Data.Text.pack "google.protobuf.GeneratedCodeInfo.Annotation"
-        fieldsByTag
-          = let path__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "path"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-                sourceFile__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "source_file"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-                begin__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "begin"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-                end__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "end"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, path__field_descriptor),
-                 (Data.ProtoLens.Tag 2, sourceFile__field_descriptor),
-                 (Data.ProtoLens.Tag 3, begin__field_descriptor),
-                 (Data.ProtoLens.Tag 4, end__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _GeneratedCodeInfo'Annotation'_unknownFields
-              (\ x__ y__ ->
-                 x__{_GeneratedCodeInfo'Annotation'_unknownFields = y__})
-        defMessage
-          = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path =
-                                           [],
-                                         _GeneratedCodeInfo'Annotation'sourceFile = Prelude.Nothing,
-                                         _GeneratedCodeInfo'Annotation'begin = Prelude.Nothing,
-                                         _GeneratedCodeInfo'Annotation'end = Prelude.Nothing,
-                                         _GeneratedCodeInfo'Annotation'_unknownFields = ([])}
-instance Control.DeepSeq.NFData GeneratedCodeInfo'Annotation where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_GeneratedCodeInfo'Annotation'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'path x__)
-                   (Control.DeepSeq.deepseq
-                      (_GeneratedCodeInfo'Annotation'sourceFile x__)
-                      (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'begin x__)
-                         (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'end x__)
-                            (())))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.messageSetWireFormat' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'messageSetWireFormat' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.noStandardDescriptorAccessor' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'noStandardDescriptorAccessor' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.mapEntry' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'mapEntry' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MessageOptions [UninterpretedOption]@
- -}
-data MessageOptions = MessageOptions{_MessageOptions'messageSetWireFormat
-                                     :: !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'noStandardDescriptorAccessor ::
-                                     !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'mapEntry :: !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'uninterpretedOption :: ![UninterpretedOption],
-                                     _MessageOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                        deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show MessageOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' MessageOptions "messageSetWireFormat"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
-                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' MessageOptions
-           "maybe'messageSetWireFormat"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
-                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MessageOptions
-           "noStandardDescriptorAccessor"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _MessageOptions'noStandardDescriptorAccessor
-                 (\ x__ y__ ->
-                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' MessageOptions
-           "maybe'noStandardDescriptorAccessor"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _MessageOptions'noStandardDescriptorAccessor
-                 (\ x__ y__ ->
-                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MessageOptions "deprecated"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
-                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' MessageOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
-                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MessageOptions "mapEntry"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
-                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' MessageOptions "maybe'mapEntry"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
-                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MessageOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_MessageOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message MessageOptions where
-        messageName _ = Data.Text.pack "google.protobuf.MessageOptions"
-        fieldsByTag
-          = let messageSetWireFormat__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "message_set_wire_format"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                noStandardDescriptorAccessor__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "no_standard_descriptor_accessor"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                mapEntry__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "map_entry"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, messageSetWireFormat__field_descriptor),
-                 (Data.ProtoLens.Tag 2,
-                  noStandardDescriptorAccessor__field_descriptor),
-                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 7, mapEntry__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _MessageOptions'_unknownFields
-              (\ x__ y__ -> x__{_MessageOptions'_unknownFields = y__})
-        defMessage
-          = MessageOptions{_MessageOptions'messageSetWireFormat =
-                             Prelude.Nothing,
-                           _MessageOptions'noStandardDescriptorAccessor = Prelude.Nothing,
-                           _MessageOptions'deprecated = Prelude.Nothing,
-                           _MessageOptions'mapEntry = Prelude.Nothing,
-                           _MessageOptions'uninterpretedOption = [],
-                           _MessageOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData MessageOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_MessageOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_MessageOptions'messageSetWireFormat x__)
-                   (Control.DeepSeq.deepseq
-                      (_MessageOptions'noStandardDescriptorAccessor x__)
-                      (Control.DeepSeq.deepseq (_MessageOptions'deprecated x__)
-                         (Control.DeepSeq.deepseq (_MessageOptions'mapEntry x__)
-                            (Control.DeepSeq.deepseq (_MessageOptions'uninterpretedOption x__)
-                               (()))))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' MethodDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.inputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'inputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.outputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'outputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' MethodDescriptorProto MethodOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' MethodDescriptorProto (Prelude.Maybe MethodOptions)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.clientStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'clientStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.serverStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'serverStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
- -}
-data MethodDescriptorProto = MethodDescriptorProto{_MethodDescriptorProto'name
-                                                   :: !(Prelude.Maybe Data.Text.Text),
-                                                   _MethodDescriptorProto'inputType ::
-                                                   !(Prelude.Maybe Data.Text.Text),
-                                                   _MethodDescriptorProto'outputType ::
-                                                   !(Prelude.Maybe Data.Text.Text),
-                                                   _MethodDescriptorProto'options ::
-                                                   !(Prelude.Maybe MethodOptions),
-                                                   _MethodDescriptorProto'clientStreaming ::
-                                                   !(Prelude.Maybe Prelude.Bool),
-                                                   _MethodDescriptorProto'serverStreaming ::
-                                                   !(Prelude.Maybe Prelude.Bool),
-                                                   _MethodDescriptorProto'_unknownFields ::
-                                                   !Data.ProtoLens.FieldSet}
-                               deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show MethodDescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' MethodDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' MethodDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MethodDescriptorProto "inputType"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' MethodDescriptorProto
-           "maybe'inputType"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MethodDescriptorProto "outputType"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' MethodDescriptorProto
-           "maybe'outputType"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MethodDescriptorProto "options"
-           (MethodOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' MethodDescriptorProto "maybe'options"
-           (Prelude.Maybe MethodOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MethodDescriptorProto
-           "clientStreaming"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' MethodDescriptorProto
-           "maybe'clientStreaming"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MethodDescriptorProto
-           "serverStreaming"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' MethodDescriptorProto
-           "maybe'serverStreaming"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message MethodDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.MethodDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                inputType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "input_type"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                outputType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "output_type"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MethodOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                clientStreaming__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "client_streaming"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'clientStreaming")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                serverStreaming__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "server_streaming"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'serverStreaming")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, inputType__field_descriptor),
-                 (Data.ProtoLens.Tag 3, outputType__field_descriptor),
-                 (Data.ProtoLens.Tag 4, options__field_descriptor),
-                 (Data.ProtoLens.Tag 5, clientStreaming__field_descriptor),
-                 (Data.ProtoLens.Tag 6, serverStreaming__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _MethodDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_MethodDescriptorProto'_unknownFields = y__})
-        defMessage
-          = MethodDescriptorProto{_MethodDescriptorProto'name =
-                                    Prelude.Nothing,
-                                  _MethodDescriptorProto'inputType = Prelude.Nothing,
-                                  _MethodDescriptorProto'outputType = Prelude.Nothing,
-                                  _MethodDescriptorProto'options = Prelude.Nothing,
-                                  _MethodDescriptorProto'clientStreaming = Prelude.Nothing,
-                                  _MethodDescriptorProto'serverStreaming = Prelude.Nothing,
-                                  _MethodDescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData MethodDescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_MethodDescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_MethodDescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_MethodDescriptorProto'inputType x__)
-                      (Control.DeepSeq.deepseq (_MethodDescriptorProto'outputType x__)
-                         (Control.DeepSeq.deepseq (_MethodDescriptorProto'options x__)
-                            (Control.DeepSeq.deepseq
-                               (_MethodDescriptorProto'clientStreaming x__)
-                               (Control.DeepSeq.deepseq
-                                  (_MethodDescriptorProto'serverStreaming x__)
-                                  (())))))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MethodOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MethodOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.idempotencyLevel' @:: Lens' MethodOptions MethodOptions'IdempotencyLevel@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'idempotencyLevel' @:: Lens' MethodOptions (Prelude.Maybe MethodOptions'IdempotencyLevel)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MethodOptions [UninterpretedOption]@
- -}
-data MethodOptions = MethodOptions{_MethodOptions'deprecated ::
-                                   !(Prelude.Maybe Prelude.Bool),
-                                   _MethodOptions'idempotencyLevel ::
-                                   !(Prelude.Maybe MethodOptions'IdempotencyLevel),
-                                   _MethodOptions'uninterpretedOption :: ![UninterpretedOption],
-                                   _MethodOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                       deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show MethodOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' MethodOptions "deprecated"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
-                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' MethodOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
-                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MethodOptions "idempotencyLevel"
-           (MethodOptions'IdempotencyLevel)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'idempotencyLevel
-                 (\ x__ y__ -> x__{_MethodOptions'idempotencyLevel = y__}))
-              (Data.ProtoLens.maybeLens MethodOptions'IDEMPOTENCY_UNKNOWN)
-instance Lens.Labels.HasLens' MethodOptions
-           "maybe'idempotencyLevel"
-           (Prelude.Maybe MethodOptions'IdempotencyLevel)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'idempotencyLevel
-                 (\ x__ y__ -> x__{_MethodOptions'idempotencyLevel = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' MethodOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_MethodOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message MethodOptions where
-        messageName _ = Data.Text.pack "google.protobuf.MethodOptions"
-        fieldsByTag
-          = let deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor MethodOptions
-                idempotencyLevel__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "idempotency_level"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor MethodOptions'IdempotencyLevel)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'idempotencyLevel")))
-                      :: Data.ProtoLens.FieldDescriptor MethodOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor MethodOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 34, idempotencyLevel__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _MethodOptions'_unknownFields
-              (\ x__ y__ -> x__{_MethodOptions'_unknownFields = y__})
-        defMessage
-          = MethodOptions{_MethodOptions'deprecated = Prelude.Nothing,
-                          _MethodOptions'idempotencyLevel = Prelude.Nothing,
-                          _MethodOptions'uninterpretedOption = [],
-                          _MethodOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData MethodOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_MethodOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_MethodOptions'deprecated x__)
-                   (Control.DeepSeq.deepseq (_MethodOptions'idempotencyLevel x__)
-                      (Control.DeepSeq.deepseq (_MethodOptions'uninterpretedOption x__)
-                         (()))))
-data MethodOptions'IdempotencyLevel = MethodOptions'IDEMPOTENCY_UNKNOWN
-                                    | MethodOptions'NO_SIDE_EFFECTS
-                                    | MethodOptions'IDEMPOTENT
-                                        deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.FieldDefault MethodOptions'IdempotencyLevel
-         where
-        fieldDefault = MethodOptions'IDEMPOTENCY_UNKNOWN
-instance Data.ProtoLens.MessageEnum MethodOptions'IdempotencyLevel
-         where
-        maybeToEnum 0 = Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN
-        maybeToEnum 1 = Prelude.Just MethodOptions'NO_SIDE_EFFECTS
-        maybeToEnum 2 = Prelude.Just MethodOptions'IDEMPOTENT
-        maybeToEnum _ = Prelude.Nothing
-        showEnum MethodOptions'IDEMPOTENCY_UNKNOWN = "IDEMPOTENCY_UNKNOWN"
-        showEnum MethodOptions'NO_SIDE_EFFECTS = "NO_SIDE_EFFECTS"
-        showEnum MethodOptions'IDEMPOTENT = "IDEMPOTENT"
-        readEnum "IDEMPOTENCY_UNKNOWN"
-          = Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN
-        readEnum "NO_SIDE_EFFECTS"
-          = Prelude.Just MethodOptions'NO_SIDE_EFFECTS
-        readEnum "IDEMPOTENT" = Prelude.Just MethodOptions'IDEMPOTENT
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum MethodOptions'IdempotencyLevel where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum IdempotencyLevel: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum MethodOptions'IDEMPOTENCY_UNKNOWN = 0
-        fromEnum MethodOptions'NO_SIDE_EFFECTS = 1
-        fromEnum MethodOptions'IDEMPOTENT = 2
-        succ MethodOptions'IDEMPOTENT
-          = Prelude.error
-              "MethodOptions'IdempotencyLevel.succ: bad argument MethodOptions'IDEMPOTENT. This value would be out of bounds."
-        succ MethodOptions'IDEMPOTENCY_UNKNOWN
-          = MethodOptions'NO_SIDE_EFFECTS
-        succ MethodOptions'NO_SIDE_EFFECTS = MethodOptions'IDEMPOTENT
-        pred MethodOptions'IDEMPOTENCY_UNKNOWN
-          = Prelude.error
-              "MethodOptions'IdempotencyLevel.pred: bad argument MethodOptions'IDEMPOTENCY_UNKNOWN. This value would be out of bounds."
-        pred MethodOptions'NO_SIDE_EFFECTS
-          = MethodOptions'IDEMPOTENCY_UNKNOWN
-        pred MethodOptions'IDEMPOTENT = MethodOptions'NO_SIDE_EFFECTS
-        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Prelude.Bounded MethodOptions'IdempotencyLevel where
-        minBound = MethodOptions'IDEMPOTENCY_UNKNOWN
-        maxBound = MethodOptions'IDEMPOTENT
-instance Control.DeepSeq.NFData MethodOptions'IdempotencyLevel
-         where
-        rnf x__ = Prelude.seq x__ (())
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' OneofDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' OneofDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' OneofDescriptorProto OneofOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' OneofDescriptorProto (Prelude.Maybe OneofOptions)@
- -}
-data OneofDescriptorProto = OneofDescriptorProto{_OneofDescriptorProto'name
-                                                 :: !(Prelude.Maybe Data.Text.Text),
-                                                 _OneofDescriptorProto'options ::
-                                                 !(Prelude.Maybe OneofOptions),
-                                                 _OneofDescriptorProto'_unknownFields ::
-                                                 !Data.ProtoLens.FieldSet}
-                              deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show OneofDescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' OneofDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
-                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' OneofDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
-                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' OneofDescriptorProto "options"
-           (OneofOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'options
-                 (\ x__ y__ -> x__{_OneofDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' OneofDescriptorProto "maybe'options"
-           (Prelude.Maybe OneofOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'options
-                 (\ x__ y__ -> x__{_OneofDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message OneofDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.OneofDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor OneofOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _OneofDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_OneofDescriptorProto'_unknownFields = y__})
-        defMessage
-          = OneofDescriptorProto{_OneofDescriptorProto'name =
-                                   Prelude.Nothing,
-                                 _OneofDescriptorProto'options = Prelude.Nothing,
-                                 _OneofDescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData OneofDescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_OneofDescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_OneofDescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_OneofDescriptorProto'options x__) (())))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' OneofOptions [UninterpretedOption]@
- -}
-data OneofOptions = OneofOptions{_OneofOptions'uninterpretedOption
-                                 :: ![UninterpretedOption],
-                                 _OneofOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                      deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show OneofOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' OneofOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _OneofOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_OneofOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message OneofOptions where
-        messageName _ = Data.Text.pack "google.protobuf.OneofOptions"
-        fieldsByTag
-          = let uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor OneofOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _OneofOptions'_unknownFields
-              (\ x__ y__ -> x__{_OneofOptions'_unknownFields = y__})
-        defMessage
-          = OneofOptions{_OneofOptions'uninterpretedOption = [],
-                         _OneofOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData OneofOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_OneofOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_OneofOptions'uninterpretedOption x__)
-                   (()))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' ServiceDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' ServiceDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.method' @:: Lens' ServiceDescriptorProto [MethodDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' ServiceDescriptorProto ServiceOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' ServiceDescriptorProto (Prelude.Maybe ServiceOptions)@
- -}
-data ServiceDescriptorProto = ServiceDescriptorProto{_ServiceDescriptorProto'name
-                                                     :: !(Prelude.Maybe Data.Text.Text),
-                                                     _ServiceDescriptorProto'method ::
-                                                     ![MethodDescriptorProto],
-                                                     _ServiceDescriptorProto'options ::
-                                                     !(Prelude.Maybe ServiceOptions),
-                                                     _ServiceDescriptorProto'_unknownFields ::
-                                                     !Data.ProtoLens.FieldSet}
-                                deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ServiceDescriptorProto where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' ServiceDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' ServiceDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' ServiceDescriptorProto "method"
-           ([MethodDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'method
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'method = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' ServiceDescriptorProto "options"
-           (ServiceOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Lens.Labels.HasLens' ServiceDescriptorProto
-           "maybe'options"
-           (Prelude.Maybe ServiceOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message ServiceDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.ServiceDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
-                method__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "method"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MethodDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor ServiceOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, method__field_descriptor),
-                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _ServiceDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_ServiceDescriptorProto'_unknownFields = y__})
-        defMessage
-          = ServiceDescriptorProto{_ServiceDescriptorProto'name =
-                                     Prelude.Nothing,
-                                   _ServiceDescriptorProto'method = [],
-                                   _ServiceDescriptorProto'options = Prelude.Nothing,
-                                   _ServiceDescriptorProto'_unknownFields = ([])}
-instance Control.DeepSeq.NFData ServiceDescriptorProto where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_ServiceDescriptorProto'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_ServiceDescriptorProto'name x__)
-                   (Control.DeepSeq.deepseq (_ServiceDescriptorProto'method x__)
-                      (Control.DeepSeq.deepseq (_ServiceDescriptorProto'options x__)
-                         (()))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' ServiceOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' ServiceOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ServiceOptions [UninterpretedOption]@
- -}
-data ServiceOptions = ServiceOptions{_ServiceOptions'deprecated ::
-                                     !(Prelude.Maybe Prelude.Bool),
-                                     _ServiceOptions'uninterpretedOption :: ![UninterpretedOption],
-                                     _ServiceOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                        deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ServiceOptions where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' ServiceOptions "deprecated"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
-                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Lens.Labels.HasLens' ServiceOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
-                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' ServiceOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_ServiceOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message ServiceOptions where
-        messageName _ = Data.Text.pack "google.protobuf.ServiceOptions"
-        fieldsByTag
-          = let deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _ServiceOptions'_unknownFields
-              (\ x__ y__ -> x__{_ServiceOptions'_unknownFields = y__})
-        defMessage
-          = ServiceOptions{_ServiceOptions'deprecated = Prelude.Nothing,
-                           _ServiceOptions'uninterpretedOption = [],
-                           _ServiceOptions'_unknownFields = ([])}
-instance Control.DeepSeq.NFData ServiceOptions where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_ServiceOptions'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_ServiceOptions'deprecated x__)
-                   (Control.DeepSeq.deepseq (_ServiceOptions'uninterpretedOption x__)
-                      (())))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.location' @:: Lens' SourceCodeInfo [SourceCodeInfo'Location]@
- -}
-data SourceCodeInfo = SourceCodeInfo{_SourceCodeInfo'location ::
-                                     ![SourceCodeInfo'Location],
-                                     _SourceCodeInfo'_unknownFields :: !Data.ProtoLens.FieldSet}
-                        deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show SourceCodeInfo where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' SourceCodeInfo "location"
-           ([SourceCodeInfo'Location])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _SourceCodeInfo'location
-                 (\ x__ y__ -> x__{_SourceCodeInfo'location = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message SourceCodeInfo where
-        messageName _ = Data.Text.pack "google.protobuf.SourceCodeInfo"
-        fieldsByTag
-          = let location__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "location"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo'Location)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, location__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _SourceCodeInfo'_unknownFields
-              (\ x__ y__ -> x__{_SourceCodeInfo'_unknownFields = y__})
-        defMessage
-          = SourceCodeInfo{_SourceCodeInfo'location = [],
-                           _SourceCodeInfo'_unknownFields = ([])}
-instance Control.DeepSeq.NFData SourceCodeInfo where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_SourceCodeInfo'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_SourceCodeInfo'location x__) (()))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.span' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'leadingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.trailingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'trailingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingDetachedComments' @:: Lens' SourceCodeInfo'Location [Data.Text.Text]@
- -}
-data SourceCodeInfo'Location = SourceCodeInfo'Location{_SourceCodeInfo'Location'path
-                                                       :: ![Data.Int.Int32],
-                                                       _SourceCodeInfo'Location'span ::
-                                                       ![Data.Int.Int32],
-                                                       _SourceCodeInfo'Location'leadingComments ::
-                                                       !(Prelude.Maybe Data.Text.Text),
-                                                       _SourceCodeInfo'Location'trailingComments ::
-                                                       !(Prelude.Maybe Data.Text.Text),
-                                                       _SourceCodeInfo'Location'leadingDetachedComments
-                                                       :: ![Data.Text.Text],
-                                                       _SourceCodeInfo'Location'_unknownFields ::
-                                                       !Data.ProtoLens.FieldSet}
-                                 deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show SourceCodeInfo'Location where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' SourceCodeInfo'Location "path"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'path
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'path = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' SourceCodeInfo'Location "span"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'span
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'span = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' SourceCodeInfo'Location
-           "leadingComments"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'leadingComments
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' SourceCodeInfo'Location
-           "maybe'leadingComments"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'leadingComments
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' SourceCodeInfo'Location
-           "trailingComments"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'trailingComments
-                 (\ x__ y__ ->
-                    x__{_SourceCodeInfo'Location'trailingComments = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' SourceCodeInfo'Location
-           "maybe'trailingComments"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'trailingComments
-                 (\ x__ y__ ->
-                    x__{_SourceCodeInfo'Location'trailingComments = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' SourceCodeInfo'Location
-           "leadingDetachedComments"
-           ([Data.Text.Text])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'leadingDetachedComments
-                 (\ x__ y__ ->
-                    x__{_SourceCodeInfo'Location'leadingDetachedComments = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message SourceCodeInfo'Location where
-        messageName _
-          = Data.Text.pack "google.protobuf.SourceCodeInfo.Location"
-        fieldsByTag
-          = let path__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "path"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                span__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "span"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                leadingComments__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "leading_comments"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'leadingComments")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                trailingComments__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "trailing_comments"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'trailingComments")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                leadingDetachedComments__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "leading_detached_comments"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "leadingDetachedComments")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, path__field_descriptor),
-                 (Data.ProtoLens.Tag 2, span__field_descriptor),
-                 (Data.ProtoLens.Tag 3, leadingComments__field_descriptor),
-                 (Data.ProtoLens.Tag 4, trailingComments__field_descriptor),
-                 (Data.ProtoLens.Tag 6, leadingDetachedComments__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _SourceCodeInfo'Location'_unknownFields
-              (\ x__ y__ -> x__{_SourceCodeInfo'Location'_unknownFields = y__})
-        defMessage
-          = SourceCodeInfo'Location{_SourceCodeInfo'Location'path = [],
-                                    _SourceCodeInfo'Location'span = [],
-                                    _SourceCodeInfo'Location'leadingComments = Prelude.Nothing,
-                                    _SourceCodeInfo'Location'trailingComments = Prelude.Nothing,
-                                    _SourceCodeInfo'Location'leadingDetachedComments = [],
-                                    _SourceCodeInfo'Location'_unknownFields = ([])}
-instance Control.DeepSeq.NFData SourceCodeInfo'Location where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_SourceCodeInfo'Location'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_SourceCodeInfo'Location'path x__)
-                   (Control.DeepSeq.deepseq (_SourceCodeInfo'Location'span x__)
-                      (Control.DeepSeq.deepseq
-                         (_SourceCodeInfo'Location'leadingComments x__)
-                         (Control.DeepSeq.deepseq
-                            (_SourceCodeInfo'Location'trailingComments x__)
-                            (Control.DeepSeq.deepseq
-                               (_SourceCodeInfo'Location'leadingDetachedComments x__)
-                               (()))))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' UninterpretedOption [UninterpretedOption'NamePart]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.identifierValue' @:: Lens' UninterpretedOption Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'identifierValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.positiveIntValue' @:: Lens' UninterpretedOption Data.Word.Word64@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'positiveIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Word.Word64)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.negativeIntValue' @:: Lens' UninterpretedOption Data.Int.Int64@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'negativeIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Int.Int64)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.doubleValue' @:: Lens' UninterpretedOption Prelude.Double@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'doubleValue' @:: Lens' UninterpretedOption (Prelude.Maybe Prelude.Double)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.stringValue' @:: Lens' UninterpretedOption Data.ByteString.ByteString@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'stringValue' @:: Lens' UninterpretedOption
-  (Prelude.Maybe Data.ByteString.ByteString)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.aggregateValue' @:: Lens' UninterpretedOption Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'aggregateValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
- -}
-data UninterpretedOption = UninterpretedOption{_UninterpretedOption'name
-                                               :: ![UninterpretedOption'NamePart],
-                                               _UninterpretedOption'identifierValue ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _UninterpretedOption'positiveIntValue ::
-                                               !(Prelude.Maybe Data.Word.Word64),
-                                               _UninterpretedOption'negativeIntValue ::
-                                               !(Prelude.Maybe Data.Int.Int64),
-                                               _UninterpretedOption'doubleValue ::
-                                               !(Prelude.Maybe Prelude.Double),
-                                               _UninterpretedOption'stringValue ::
-                                               !(Prelude.Maybe Data.ByteString.ByteString),
-                                               _UninterpretedOption'aggregateValue ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _UninterpretedOption'_unknownFields ::
-                                               !Data.ProtoLens.FieldSet}
-                             deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show UninterpretedOption where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' UninterpretedOption "name"
-           ([UninterpretedOption'NamePart])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'name
-                 (\ x__ y__ -> x__{_UninterpretedOption'name = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' UninterpretedOption "identifierValue"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' UninterpretedOption
-           "maybe'identifierValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' UninterpretedOption
-           "positiveIntValue"
-           (Data.Word.Word64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' UninterpretedOption
-           "maybe'positiveIntValue"
-           (Prelude.Maybe Data.Word.Word64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' UninterpretedOption
-           "negativeIntValue"
-           (Data.Int.Int64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' UninterpretedOption
-           "maybe'negativeIntValue"
-           (Prelude.Maybe Data.Int.Int64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' UninterpretedOption "doubleValue"
-           (Prelude.Double)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' UninterpretedOption
-           "maybe'doubleValue"
-           (Prelude.Maybe Prelude.Double)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' UninterpretedOption "stringValue"
-           (Data.ByteString.ByteString)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' UninterpretedOption
-           "maybe'stringValue"
-           (Prelude.Maybe Data.ByteString.ByteString)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' UninterpretedOption "aggregateValue"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Lens.Labels.HasLens' UninterpretedOption
-           "maybe'aggregateValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message UninterpretedOption where
-        messageName _
-          = Data.Text.pack "google.protobuf.UninterpretedOption"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption'NamePart)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                identifierValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "identifier_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'identifierValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                positiveIntValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "positive_int_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'positiveIntValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                negativeIntValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "negative_int_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'negativeIntValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                doubleValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "double_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'doubleValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                stringValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "string_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'stringValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                aggregateValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "aggregate_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'aggregateValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 2, name__field_descriptor),
-                 (Data.ProtoLens.Tag 3, identifierValue__field_descriptor),
-                 (Data.ProtoLens.Tag 4, positiveIntValue__field_descriptor),
-                 (Data.ProtoLens.Tag 5, negativeIntValue__field_descriptor),
-                 (Data.ProtoLens.Tag 6, doubleValue__field_descriptor),
-                 (Data.ProtoLens.Tag 7, stringValue__field_descriptor),
-                 (Data.ProtoLens.Tag 8, aggregateValue__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _UninterpretedOption'_unknownFields
-              (\ x__ y__ -> x__{_UninterpretedOption'_unknownFields = y__})
-        defMessage
-          = UninterpretedOption{_UninterpretedOption'name = [],
-                                _UninterpretedOption'identifierValue = Prelude.Nothing,
-                                _UninterpretedOption'positiveIntValue = Prelude.Nothing,
-                                _UninterpretedOption'negativeIntValue = Prelude.Nothing,
-                                _UninterpretedOption'doubleValue = Prelude.Nothing,
-                                _UninterpretedOption'stringValue = Prelude.Nothing,
-                                _UninterpretedOption'aggregateValue = Prelude.Nothing,
-                                _UninterpretedOption'_unknownFields = ([])}
-instance Control.DeepSeq.NFData UninterpretedOption where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq (_UninterpretedOption'_unknownFields x__)
-                (Control.DeepSeq.deepseq (_UninterpretedOption'name x__)
-                   (Control.DeepSeq.deepseq (_UninterpretedOption'identifierValue x__)
-                      (Control.DeepSeq.deepseq
-                         (_UninterpretedOption'positiveIntValue x__)
-                         (Control.DeepSeq.deepseq
-                            (_UninterpretedOption'negativeIntValue x__)
-                            (Control.DeepSeq.deepseq (_UninterpretedOption'doubleValue x__)
-                               (Control.DeepSeq.deepseq (_UninterpretedOption'stringValue x__)
-                                  (Control.DeepSeq.deepseq (_UninterpretedOption'aggregateValue x__)
-                                     (()))))))))
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.namePart' @:: Lens' UninterpretedOption'NamePart Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.isExtension' @:: Lens' UninterpretedOption'NamePart Prelude.Bool@
- -}
-data UninterpretedOption'NamePart = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
-                                                                 :: !Data.Text.Text,
-                                                                 _UninterpretedOption'NamePart'isExtension
-                                                                 :: !Prelude.Bool,
-                                                                 _UninterpretedOption'NamePart'_unknownFields
-                                                                 :: !Data.ProtoLens.FieldSet}
-                                      deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show UninterpretedOption'NamePart where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Lens.Labels.HasLens' UninterpretedOption'NamePart
-           "namePart"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'NamePart'namePart
-                 (\ x__ y__ -> x__{_UninterpretedOption'NamePart'namePart = y__}))
-              Prelude.id
-instance Lens.Labels.HasLens' UninterpretedOption'NamePart
-           "isExtension"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _UninterpretedOption'NamePart'isExtension
-                 (\ x__ y__ ->
-                    x__{_UninterpretedOption'NamePart'isExtension = y__}))
-              Prelude.id
-instance Data.ProtoLens.Message UninterpretedOption'NamePart where
-        messageName _
-          = Data.Text.pack "google.protobuf.UninterpretedOption.NamePart"
-        fieldsByTag
-          = let namePart__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name_part"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
-                isExtension__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "is_extension"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
-                         (Lens.Labels.lensOf'
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, namePart__field_descriptor),
-                 (Data.ProtoLens.Tag 2, isExtension__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _UninterpretedOption'NamePart'_unknownFields
-              (\ x__ y__ ->
-                 x__{_UninterpretedOption'NamePart'_unknownFields = y__})
-        defMessage
-          = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
-                                           = Data.ProtoLens.fieldDefault,
-                                         _UninterpretedOption'NamePart'isExtension =
-                                           Data.ProtoLens.fieldDefault,
-                                         _UninterpretedOption'NamePart'_unknownFields = ([])}
-instance Control.DeepSeq.NFData UninterpretedOption'NamePart where
-        rnf
-          = \ x__ ->
-              Control.DeepSeq.deepseq
-                (_UninterpretedOption'NamePart'_unknownFields x__)
-                (Control.DeepSeq.deepseq
-                   (_UninterpretedOption'NamePart'namePart x__)
-                   (Control.DeepSeq.deepseq
-                      (_UninterpretedOption'NamePart'isExtension x__)
-                      (())))
+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
+  BangPatterns, TypeApplications #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports#-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
+module Proto.Google.Protobuf.Descriptor
+       (DescriptorProto(), DescriptorProto'ExtensionRange(),
+        DescriptorProto'ReservedRange(), EnumDescriptorProto(),
+        EnumDescriptorProto'EnumReservedRange(), EnumOptions(),
+        EnumValueDescriptorProto(), EnumValueOptions(),
+        ExtensionRangeOptions(), FieldDescriptorProto(),
+        FieldDescriptorProto'Label(..), FieldDescriptorProto'Label(),
+        FieldDescriptorProto'Type(..), FieldDescriptorProto'Type(),
+        FieldOptions(), FieldOptions'CType(..), FieldOptions'CType(),
+        FieldOptions'JSType(..), FieldOptions'JSType(),
+        FileDescriptorProto(), FileDescriptorSet(), FileOptions(),
+        FileOptions'OptimizeMode(..), FileOptions'OptimizeMode(),
+        GeneratedCodeInfo(), GeneratedCodeInfo'Annotation(),
+        MessageOptions(), MethodDescriptorProto(), MethodOptions(),
+        MethodOptions'IdempotencyLevel(..),
+        MethodOptions'IdempotencyLevel(), OneofDescriptorProto(),
+        OneofOptions(), ServiceDescriptorProto(), ServiceOptions(),
+        SourceCodeInfo(), SourceCodeInfo'Location(), UninterpretedOption(),
+        UninterpretedOption'NamePart())
+       where
+import qualified Control.DeepSeq
+import qualified Data.ProtoLens.Prism
+import qualified Prelude
+import qualified Data.Int
+import qualified Data.Monoid
+import qualified Data.Word
+import qualified Data.ProtoLens
+import qualified Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Field
+import qualified Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Service.Types
+import qualified Lens.Family2
+import qualified Lens.Family2.Unchecked
+import qualified Data.Text
+import qualified Data.Map
+import qualified Data.ByteString
+import qualified Data.ByteString.Char8
+import qualified Data.Text.Encoding
+import qualified Data.Vector
+import qualified Data.Vector.Generic
+import qualified Data.Vector.Unboxed
+import qualified Text.Read
+
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' DescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' DescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.field' @:: Lens' DescriptorProto [FieldDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'field' @:: Lens' DescriptorProto (Data.Vector.Vector FieldDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' DescriptorProto [FieldDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'extension' @:: Lens' DescriptorProto (Data.Vector.Vector FieldDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.nestedType' @:: Lens' DescriptorProto [DescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'nestedType' @:: Lens' DescriptorProto (Data.Vector.Vector DescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' DescriptorProto [EnumDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'enumType' @:: Lens' DescriptorProto (Data.Vector.Vector EnumDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extensionRange' @:: Lens' DescriptorProto [DescriptorProto'ExtensionRange]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'extensionRange' @:: Lens' DescriptorProto
+  (Data.Vector.Vector DescriptorProto'ExtensionRange)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofDecl' @:: Lens' DescriptorProto [OneofDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'oneofDecl' @:: Lens' DescriptorProto (Data.Vector.Vector OneofDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto MessageOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto (Prelude.Maybe MessageOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' DescriptorProto [DescriptorProto'ReservedRange]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedRange' @:: Lens' DescriptorProto
+  (Data.Vector.Vector DescriptorProto'ReservedRange)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' DescriptorProto [Data.Text.Text]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedName' @:: Lens' DescriptorProto (Data.Vector.Vector Data.Text.Text)@
+ -}
+data DescriptorProto = DescriptorProto{_DescriptorProto'name ::
+                                       !(Prelude.Maybe Data.Text.Text),
+                                       _DescriptorProto'field ::
+                                       !(Data.Vector.Vector FieldDescriptorProto),
+                                       _DescriptorProto'extension ::
+                                       !(Data.Vector.Vector FieldDescriptorProto),
+                                       _DescriptorProto'nestedType ::
+                                       !(Data.Vector.Vector DescriptorProto),
+                                       _DescriptorProto'enumType ::
+                                       !(Data.Vector.Vector EnumDescriptorProto),
+                                       _DescriptorProto'extensionRange ::
+                                       !(Data.Vector.Vector DescriptorProto'ExtensionRange),
+                                       _DescriptorProto'oneofDecl ::
+                                       !(Data.Vector.Vector OneofDescriptorProto),
+                                       _DescriptorProto'options :: !(Prelude.Maybe MessageOptions),
+                                       _DescriptorProto'reservedRange ::
+                                       !(Data.Vector.Vector DescriptorProto'ReservedRange),
+                                       _DescriptorProto'reservedName ::
+                                       !(Data.Vector.Vector Data.Text.Text),
+                                       _DescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}
+                         deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show DescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField DescriptorProto "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'name
+               (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField DescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'name
+               (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto "field"
+           ([FieldDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'field
+               (\ x__ y__ -> x__{_DescriptorProto'field = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto "vec'field"
+           (Data.Vector.Vector FieldDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'field
+               (\ x__ y__ -> x__{_DescriptorProto'field = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto "extension"
+           ([FieldDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'extension
+               (\ x__ y__ -> x__{_DescriptorProto'extension = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "vec'extension"
+           (Data.Vector.Vector FieldDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'extension
+               (\ x__ y__ -> x__{_DescriptorProto'extension = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto "nestedType"
+           ([DescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'nestedType
+               (\ x__ y__ -> x__{_DescriptorProto'nestedType = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "vec'nestedType"
+           (Data.Vector.Vector DescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'nestedType
+               (\ x__ y__ -> x__{_DescriptorProto'nestedType = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto "enumType"
+           ([EnumDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'enumType
+               (\ x__ y__ -> x__{_DescriptorProto'enumType = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "vec'enumType"
+           (Data.Vector.Vector EnumDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'enumType
+               (\ x__ y__ -> x__{_DescriptorProto'enumType = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "extensionRange"
+           ([DescriptorProto'ExtensionRange])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'extensionRange
+               (\ x__ y__ -> x__{_DescriptorProto'extensionRange = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "vec'extensionRange"
+           (Data.Vector.Vector DescriptorProto'ExtensionRange)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'extensionRange
+               (\ x__ y__ -> x__{_DescriptorProto'extensionRange = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto "oneofDecl"
+           ([OneofDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'oneofDecl
+               (\ x__ y__ -> x__{_DescriptorProto'oneofDecl = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "vec'oneofDecl"
+           (Data.Vector.Vector OneofDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'oneofDecl
+               (\ x__ y__ -> x__{_DescriptorProto'oneofDecl = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto "options"
+           (MessageOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'options
+               (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "maybe'options"
+           (Prelude.Maybe MessageOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'options
+               (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "reservedRange"
+           ([DescriptorProto'ReservedRange])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'reservedRange
+               (\ x__ y__ -> x__{_DescriptorProto'reservedRange = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "vec'reservedRange"
+           (Data.Vector.Vector DescriptorProto'ReservedRange)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'reservedRange
+               (\ x__ y__ -> x__{_DescriptorProto'reservedRange = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "reservedName"
+           ([Data.Text.Text])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'reservedName
+               (\ x__ y__ -> x__{_DescriptorProto'reservedName = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField DescriptorProto
+           "vec'reservedName"
+           (Data.Vector.Vector Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'reservedName
+               (\ x__ y__ -> x__{_DescriptorProto'reservedName = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message DescriptorProto where
+        messageName _ = Data.Text.pack "google.protobuf.DescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                field__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "field"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"field"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                extension__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extension"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"extension"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                nestedType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "nested_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"nestedType"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                enumType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "enum_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"enumType"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                extensionRange__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extension_range"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ExtensionRange)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"extensionRange"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                oneofDecl__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "oneof_decl"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor OneofDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"oneofDecl"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor MessageOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                reservedRange__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_range"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ReservedRange)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"reservedRange"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                reservedName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"reservedName"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, field__field_descriptor),
+                 (Data.ProtoLens.Tag 6, extension__field_descriptor),
+                 (Data.ProtoLens.Tag 3, nestedType__field_descriptor),
+                 (Data.ProtoLens.Tag 4, enumType__field_descriptor),
+                 (Data.ProtoLens.Tag 5, extensionRange__field_descriptor),
+                 (Data.ProtoLens.Tag 8, oneofDecl__field_descriptor),
+                 (Data.ProtoLens.Tag 7, options__field_descriptor),
+                 (Data.ProtoLens.Tag 9, reservedRange__field_descriptor),
+                 (Data.ProtoLens.Tag 10, reservedName__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _DescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_DescriptorProto'_unknownFields = y__})
+        defMessage
+          = DescriptorProto{_DescriptorProto'name = Prelude.Nothing,
+                            _DescriptorProto'field = Data.Vector.Generic.empty,
+                            _DescriptorProto'extension = Data.Vector.Generic.empty,
+                            _DescriptorProto'nestedType = Data.Vector.Generic.empty,
+                            _DescriptorProto'enumType = Data.Vector.Generic.empty,
+                            _DescriptorProto'extensionRange = Data.Vector.Generic.empty,
+                            _DescriptorProto'oneofDecl = Data.Vector.Generic.empty,
+                            _DescriptorProto'options = Prelude.Nothing,
+                            _DescriptorProto'reservedRange = Data.Vector.Generic.empty,
+                            _DescriptorProto'reservedName = Data.Vector.Generic.empty,
+                            _DescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     DescriptorProto ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         EnumDescriptorProto
+                         ->
+                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                           Data.ProtoLens.Encoding.Growing.RealWorld
+                           FieldDescriptorProto
+                           ->
+                           Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                             Data.ProtoLens.Encoding.Growing.RealWorld
+                             DescriptorProto'ExtensionRange
+                             ->
+                             Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                               Data.ProtoLens.Encoding.Growing.RealWorld
+                               FieldDescriptorProto
+                               ->
+                               Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                                 Data.ProtoLens.Encoding.Growing.RealWorld
+                                 DescriptorProto
+                                 ->
+                                 Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                                   Data.ProtoLens.Encoding.Growing.RealWorld
+                                   OneofDescriptorProto
+                                   ->
+                                   Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                                     Data.ProtoLens.Encoding.Growing.RealWorld
+                                     Data.Text.Text
+                                     ->
+                                     Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                                       Data.ProtoLens.Encoding.Growing.RealWorld
+                                       DescriptorProto'ReservedRange
+                                       -> Data.ProtoLens.Encoding.Bytes.Parser DescriptorProto
+                loop x mutable'enumType mutable'extension mutable'extensionRange
+                  mutable'field mutable'nestedType mutable'oneofDecl
+                  mutable'reservedName mutable'reservedRange
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                    mutable'enumType)
+                            frozen'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                     mutable'extension)
+                            frozen'extensionRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                          mutable'extensionRange)
+                            frozen'field <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                 mutable'field)
+                            frozen'nestedType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'nestedType)
+                            frozen'oneofDecl <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                     mutable'oneofDecl)
+                            frozen'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                        mutable'reservedName)
+                            frozen'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                      (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                         mutable'reservedRange)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'enumType")
+                                    frozen'enumType
+                                    (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'extension")
+                                       frozen'extension
+                                       (Lens.Family2.set
+                                          (Data.ProtoLens.Field.field @"vec'extensionRange")
+                                          frozen'extensionRange
+                                          (Lens.Family2.set
+                                             (Data.ProtoLens.Field.field @"vec'field")
+                                             frozen'field
+                                             (Lens.Family2.set
+                                                (Data.ProtoLens.Field.field @"vec'nestedType")
+                                                frozen'nestedType
+                                                (Lens.Family2.set
+                                                   (Data.ProtoLens.Field.field @"vec'oneofDecl")
+                                                   frozen'oneofDecl
+                                                   (Lens.Family2.set
+                                                      (Data.ProtoLens.Field.field
+                                                         @"vec'reservedName")
+                                                      frozen'reservedName
+                                                      (Lens.Family2.set
+                                                         (Data.ProtoLens.Field.field
+                                                            @"vec'reservedRange")
+                                                         frozen'reservedRange
+                                                         x)))))))))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                           mutable'enumType
+                                           mutable'extension
+                                           mutable'extensionRange
+                                           mutable'field
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                18 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "field"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'field
+                                                   y)
+                                         loop x mutable'enumType mutable'extension
+                                           mutable'extensionRange
+                                           v
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                50 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "extension"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'extension
+                                                   y)
+                                         loop x mutable'enumType v mutable'extensionRange
+                                           mutable'field
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                26 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "nested_type"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'nestedType
+                                                   y)
+                                         loop x mutable'enumType mutable'extension
+                                           mutable'extensionRange
+                                           mutable'field
+                                           v
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                34 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "enum_type"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'enumType
+                                                   y)
+                                         loop x v mutable'extension mutable'extensionRange
+                                           mutable'field
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                42 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "extension_range"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'extensionRange
+                                                   y)
+                                         loop x mutable'enumType mutable'extension v mutable'field
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                66 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "oneof_decl"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'oneofDecl
+                                                   y)
+                                         loop x mutable'enumType mutable'extension
+                                           mutable'extensionRange
+                                           mutable'field
+                                           mutable'nestedType
+                                           v
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                58 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                           mutable'enumType
+                                           mutable'extension
+                                           mutable'extensionRange
+                                           mutable'field
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                74 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "reserved_range"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'reservedRange
+                                                   y)
+                                         loop x mutable'enumType mutable'extension
+                                           mutable'extensionRange
+                                           mutable'field
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           mutable'reservedName
+                                           v
+                                82 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "reserved_name"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'reservedName
+                                                   y)
+                                         loop x mutable'enumType mutable'extension
+                                           mutable'extensionRange
+                                           mutable'field
+                                           mutable'nestedType
+                                           mutable'oneofDecl
+                                           v
+                                           mutable'reservedRange
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'enumType
+                                             mutable'extension
+                                             mutable'extensionRange
+                                             mutable'field
+                                             mutable'nestedType
+                                             mutable'oneofDecl
+                                             mutable'reservedName
+                                             mutable'reservedRange
+              in
+              (do mutable'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        Data.ProtoLens.Encoding.Growing.new
+                  mutable'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+                  mutable'extensionRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              Data.ProtoLens.Encoding.Growing.new
+                  mutable'field <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                     Data.ProtoLens.Encoding.Growing.new
+                  mutable'nestedType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                          Data.ProtoLens.Encoding.Growing.new
+                  mutable'oneofDecl <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+                  mutable'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+                  mutable'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'enumType mutable'extension
+                    mutable'extensionRange
+                    mutable'field
+                    mutable'nestedType
+                    mutable'oneofDecl
+                    mutable'reservedName
+                    mutable'reservedRange)
+                Data.ProtoLens.Encoding.Bytes.<?> "DescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                    (\ _v ->
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
+                         (((\ bs ->
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Prelude.. Data.ProtoLens.encodeMessage)
+                           _v)
+                    (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'field") _x))
+                   Data.Monoid.<>
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v ->
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 50) Data.Monoid.<>
+                           (((\ bs ->
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Prelude.. Data.ProtoLens.encodeMessage)
+                             _v)
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'extension")
+                         _x))
+                     Data.Monoid.<>
+                     (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                        (\ _v ->
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 26) Data.Monoid.<>
+                             (((\ bs ->
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                Prelude.. Data.ProtoLens.encodeMessage)
+                               _v)
+                        (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'nestedType")
+                           _x))
+                       Data.Monoid.<>
+                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                          (\ _v ->
+                             (Data.ProtoLens.Encoding.Bytes.putVarInt 34) Data.Monoid.<>
+                               (((\ bs ->
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                  Prelude.. Data.ProtoLens.encodeMessage)
+                                 _v)
+                          (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'enumType")
+                             _x))
+                         Data.Monoid.<>
+                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                            (\ _v ->
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 42) Data.Monoid.<>
+                                 (((\ bs ->
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                        Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Prelude.. Data.ProtoLens.encodeMessage)
+                                   _v)
+                            (Lens.Family2.view
+                               (Data.ProtoLens.Field.field @"vec'extensionRange")
+                               _x))
+                           Data.Monoid.<>
+                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                              (\ _v ->
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 66) Data.Monoid.<>
+                                   (((\ bs ->
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                          Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Prelude.. Data.ProtoLens.encodeMessage)
+                                     _v)
+                              (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'oneofDecl")
+                                 _x))
+                             Data.Monoid.<>
+                             (case
+                                Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x
+                                of
+                                  (Prelude.Nothing) -> Data.Monoid.mempty
+                                  Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                                                       Data.Monoid.<>
+                                                       (((\ bs ->
+                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                               (Prelude.fromIntegral
+                                                                  (Data.ByteString.length bs)))
+                                                              Data.Monoid.<>
+                                                              Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                bs))
+                                                          Prelude.. Data.ProtoLens.encodeMessage)
+                                                         _v)
+                               Data.Monoid.<>
+                               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                  (\ _v ->
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 74) Data.Monoid.<>
+                                       (((\ bs ->
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              Data.Monoid.<>
+                                              Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                          Prelude.. Data.ProtoLens.encodeMessage)
+                                         _v)
+                                  (Lens.Family2.view
+                                     (Data.ProtoLens.Field.field @"vec'reservedRange")
+                                     _x))
+                                 Data.Monoid.<>
+                                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                    (\ _v ->
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 82) Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                                    (Lens.Family2.view
+                                       (Data.ProtoLens.Field.field @"vec'reservedName")
+                                       _x))
+                                   Data.Monoid.<>
+                                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData DescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_DescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_DescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_DescriptorProto'field x__)
+                       (Control.DeepSeq.deepseq (_DescriptorProto'extension x__)
+                          (Control.DeepSeq.deepseq (_DescriptorProto'nestedType x__)
+                             (Control.DeepSeq.deepseq (_DescriptorProto'enumType x__)
+                                (Control.DeepSeq.deepseq (_DescriptorProto'extensionRange x__)
+                                   (Control.DeepSeq.deepseq (_DescriptorProto'oneofDecl x__)
+                                      (Control.DeepSeq.deepseq (_DescriptorProto'options x__)
+                                         (Control.DeepSeq.deepseq
+                                            (_DescriptorProto'reservedRange x__)
+                                            (Control.DeepSeq.deepseq
+                                               (_DescriptorProto'reservedName x__)
+                                               (()))))))))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto'ExtensionRange ExtensionRangeOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto'ExtensionRange
+  (Prelude.Maybe ExtensionRangeOptions)@
+ -}
+data DescriptorProto'ExtensionRange = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
+                                                                     ::
+                                                                     !(Prelude.Maybe
+                                                                         Data.Int.Int32),
+                                                                     _DescriptorProto'ExtensionRange'end
+                                                                     ::
+                                                                     !(Prelude.Maybe
+                                                                         Data.Int.Int32),
+                                                                     _DescriptorProto'ExtensionRange'options
+                                                                     ::
+                                                                     !(Prelude.Maybe
+                                                                         ExtensionRangeOptions),
+                                                                     _DescriptorProto'ExtensionRange'_unknownFields
+                                                                     :: !Data.ProtoLens.FieldSet}
+                                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show DescriptorProto'ExtensionRange where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ExtensionRange
+           "start"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _DescriptorProto'ExtensionRange'start
+               (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ExtensionRange
+           "maybe'start"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _DescriptorProto'ExtensionRange'start
+               (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ExtensionRange
+           "end"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
+               (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ExtensionRange
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
+               (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ExtensionRange
+           "options"
+           (ExtensionRangeOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _DescriptorProto'ExtensionRange'options
+               (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ExtensionRange
+           "maybe'options"
+           (Prelude.Maybe ExtensionRangeOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _DescriptorProto'ExtensionRange'options
+               (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message DescriptorProto'ExtensionRange
+         where
+        messageName _
+          = Data.Text.pack "google.protobuf.DescriptorProto.ExtensionRange"
+        fieldsByTag
+          = let start__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "start"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'start"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'end"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor ExtensionRangeOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, start__field_descriptor),
+                 (Data.ProtoLens.Tag 2, end__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _DescriptorProto'ExtensionRange'_unknownFields
+              (\ x__ y__ ->
+                 x__{_DescriptorProto'ExtensionRange'_unknownFields = y__})
+        defMessage
+          = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
+                                             = Prelude.Nothing,
+                                           _DescriptorProto'ExtensionRange'end = Prelude.Nothing,
+                                           _DescriptorProto'ExtensionRange'options =
+                                             Prelude.Nothing,
+                                           _DescriptorProto'ExtensionRange'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     DescriptorProto'ExtensionRange ->
+                       Data.ProtoLens.Encoding.Bytes.Parser DescriptorProto'ExtensionRange
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                               Data.ProtoLens.Encoding.Bytes.<?> "start"
+                                        loop
+                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y
+                                             x)
+                                16 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "end"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y
+                                              x)
+                                26 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "ExtensionRange"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            Prelude.fromIntegral)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              Prelude.fromIntegral)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                             Data.Monoid.<>
+                                             (((\ bs ->
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                    Data.Monoid.<>
+                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                Prelude.. Data.ProtoLens.encodeMessage)
+                                               _v)
+                     Data.Monoid.<>
+                     Data.ProtoLens.Encoding.Wire.buildFieldSet
+                       (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData DescriptorProto'ExtensionRange
+         where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_DescriptorProto'ExtensionRange'_unknownFields x__)
+                 (Control.DeepSeq.deepseq
+                    (_DescriptorProto'ExtensionRange'start x__)
+                    (Control.DeepSeq.deepseq (_DescriptorProto'ExtensionRange'end x__)
+                       (Control.DeepSeq.deepseq
+                          (_DescriptorProto'ExtensionRange'options x__)
+                          (())))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
+ -}
+data DescriptorProto'ReservedRange = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
+                                                                   ::
+                                                                   !(Prelude.Maybe Data.Int.Int32),
+                                                                   _DescriptorProto'ReservedRange'end
+                                                                   ::
+                                                                   !(Prelude.Maybe Data.Int.Int32),
+                                                                   _DescriptorProto'ReservedRange'_unknownFields
+                                                                   :: !Data.ProtoLens.FieldSet}
+                                       deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show DescriptorProto'ReservedRange where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ReservedRange
+           "start"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
+               (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ReservedRange
+           "maybe'start"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
+               (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ReservedRange
+           "end"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
+               (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField
+           DescriptorProto'ReservedRange
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
+               (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message DescriptorProto'ReservedRange where
+        messageName _
+          = Data.Text.pack "google.protobuf.DescriptorProto.ReservedRange"
+        fieldsByTag
+          = let start__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "start"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'start"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'end"))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, start__field_descriptor),
+                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _DescriptorProto'ReservedRange'_unknownFields
+              (\ x__ y__ ->
+                 x__{_DescriptorProto'ReservedRange'_unknownFields = y__})
+        defMessage
+          = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
+                                            = Prelude.Nothing,
+                                          _DescriptorProto'ReservedRange'end = Prelude.Nothing,
+                                          _DescriptorProto'ReservedRange'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     DescriptorProto'ReservedRange ->
+                       Data.ProtoLens.Encoding.Bytes.Parser DescriptorProto'ReservedRange
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                               Data.ProtoLens.Encoding.Bytes.<?> "start"
+                                        loop
+                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y
+                                             x)
+                                16 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "end"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "ReservedRange"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            Prelude.fromIntegral)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              Prelude.fromIntegral)
+                                             _v)
+                   Data.Monoid.<>
+                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData DescriptorProto'ReservedRange where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_DescriptorProto'ReservedRange'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_DescriptorProto'ReservedRange'start x__)
+                    (Control.DeepSeq.deepseq (_DescriptorProto'ReservedRange'end x__)
+                       (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.value' @:: Lens' EnumDescriptorProto [EnumValueDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'value' @:: Lens' EnumDescriptorProto
+  (Data.Vector.Vector EnumValueDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumDescriptorProto EnumOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumDescriptorProto (Prelude.Maybe EnumOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' EnumDescriptorProto [EnumDescriptorProto'EnumReservedRange]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedRange' @:: Lens' EnumDescriptorProto
+  (Data.Vector.Vector EnumDescriptorProto'EnumReservedRange)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' EnumDescriptorProto [Data.Text.Text]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'reservedName' @:: Lens' EnumDescriptorProto (Data.Vector.Vector Data.Text.Text)@
+ -}
+data EnumDescriptorProto = EnumDescriptorProto{_EnumDescriptorProto'name
+                                               :: !(Prelude.Maybe Data.Text.Text),
+                                               _EnumDescriptorProto'value ::
+                                               !(Data.Vector.Vector EnumValueDescriptorProto),
+                                               _EnumDescriptorProto'options ::
+                                               !(Prelude.Maybe EnumOptions),
+                                               _EnumDescriptorProto'reservedRange ::
+                                               !(Data.Vector.Vector
+                                                   EnumDescriptorProto'EnumReservedRange),
+                                               _EnumDescriptorProto'reservedName ::
+                                               !(Data.Vector.Vector Data.Text.Text),
+                                               _EnumDescriptorProto'_unknownFields ::
+                                               !Data.ProtoLens.FieldSet}
+                             deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
+               (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
+               (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto "value"
+           ([EnumValueDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'value
+               (\ x__ y__ -> x__{_EnumDescriptorProto'value = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "vec'value"
+           (Data.Vector.Vector EnumValueDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'value
+               (\ x__ y__ -> x__{_EnumDescriptorProto'value = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "options"
+           (EnumOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
+               (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe EnumOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
+               (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "reservedRange"
+           ([EnumDescriptorProto'EnumReservedRange])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedRange
+               (\ x__ y__ -> x__{_EnumDescriptorProto'reservedRange = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "vec'reservedRange"
+           (Data.Vector.Vector EnumDescriptorProto'EnumReservedRange)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedRange
+               (\ x__ y__ -> x__{_EnumDescriptorProto'reservedRange = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "reservedName"
+           ([Data.Text.Text])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedName
+               (\ x__ y__ -> x__{_EnumDescriptorProto'reservedName = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField EnumDescriptorProto
+           "vec'reservedName"
+           (Data.Vector.Vector Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedName
+               (\ x__ y__ -> x__{_EnumDescriptorProto'reservedName = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message EnumDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.EnumDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                value__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "value"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumValueDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"value"))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                reservedRange__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_range"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor
+                           EnumDescriptorProto'EnumReservedRange)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"reservedRange"))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                reservedName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"reservedName"))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, value__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor),
+                 (Data.ProtoLens.Tag 4, reservedRange__field_descriptor),
+                 (Data.ProtoLens.Tag 5, reservedName__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _EnumDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_EnumDescriptorProto'_unknownFields = y__})
+        defMessage
+          = EnumDescriptorProto{_EnumDescriptorProto'name = Prelude.Nothing,
+                                _EnumDescriptorProto'value = Data.Vector.Generic.empty,
+                                _EnumDescriptorProto'options = Prelude.Nothing,
+                                _EnumDescriptorProto'reservedRange = Data.Vector.Generic.empty,
+                                _EnumDescriptorProto'reservedName = Data.Vector.Generic.empty,
+                                _EnumDescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     EnumDescriptorProto ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         Data.Text.Text
+                         ->
+                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                           Data.ProtoLens.Encoding.Growing.RealWorld
+                           EnumDescriptorProto'EnumReservedRange
+                           ->
+                           Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                             Data.ProtoLens.Encoding.Growing.RealWorld
+                             EnumValueDescriptorProto
+                             -> Data.ProtoLens.Encoding.Bytes.Parser EnumDescriptorProto
+                loop x mutable'reservedName mutable'reservedRange mutable'value
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                        mutable'reservedName)
+                            frozen'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                      (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                         mutable'reservedRange)
+                            frozen'value <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                 mutable'value)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'reservedName")
+                                    frozen'reservedName
+                                    (Lens.Family2.set
+                                       (Data.ProtoLens.Field.field @"vec'reservedRange")
+                                       frozen'reservedRange
+                                       (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'value")
+                                          frozen'value
+                                          x))))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                           mutable'value
+                                18 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "value"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'value
+                                                   y)
+                                         loop x mutable'reservedName mutable'reservedRange v
+                                26 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                           mutable'reservedName
+                                           mutable'reservedRange
+                                           mutable'value
+                                34 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "reserved_range"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'reservedRange
+                                                   y)
+                                         loop x mutable'reservedName v mutable'value
+                                42 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "reserved_name"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'reservedName
+                                                   y)
+                                         loop x v mutable'reservedRange mutable'value
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'reservedName
+                                             mutable'reservedRange
+                                             mutable'value
+              in
+              (do mutable'reservedName <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+                  mutable'reservedRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             Data.ProtoLens.Encoding.Growing.new
+                  mutable'value <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                     Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'reservedName
+                    mutable'reservedRange
+                    mutable'value)
+                Data.ProtoLens.Encoding.Bytes.<?> "EnumDescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                    (\ _v ->
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
+                         (((\ bs ->
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Prelude.. Data.ProtoLens.encodeMessage)
+                           _v)
+                    (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'value") _x))
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                             Data.Monoid.<>
+                                             (((\ bs ->
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                    Data.Monoid.<>
+                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                Prelude.. Data.ProtoLens.encodeMessage)
+                                               _v)
+                     Data.Monoid.<>
+                     (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                        (\ _v ->
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 34) Data.Monoid.<>
+                             (((\ bs ->
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                Prelude.. Data.ProtoLens.encodeMessage)
+                               _v)
+                        (Lens.Family2.view
+                           (Data.ProtoLens.Field.field @"vec'reservedRange")
+                           _x))
+                       Data.Monoid.<>
+                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                          (\ _v ->
+                             (Data.ProtoLens.Encoding.Bytes.putVarInt 42) Data.Monoid.<>
+                               (((\ bs ->
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                  Prelude.. Data.Text.Encoding.encodeUtf8)
+                                 _v)
+                          (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'reservedName")
+                             _x))
+                         Data.Monoid.<>
+                         Data.ProtoLens.Encoding.Wire.buildFieldSet
+                           (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData EnumDescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_EnumDescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_EnumDescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_EnumDescriptorProto'value x__)
+                       (Control.DeepSeq.deepseq (_EnumDescriptorProto'options x__)
+                          (Control.DeepSeq.deepseq (_EnumDescriptorProto'reservedRange x__)
+                             (Control.DeepSeq.deepseq (_EnumDescriptorProto'reservedName x__)
+                                (())))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' EnumDescriptorProto'EnumReservedRange
+  (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' EnumDescriptorProto'EnumReservedRange
+  (Prelude.Maybe Data.Int.Int32)@
+ -}
+data EnumDescriptorProto'EnumReservedRange = EnumDescriptorProto'EnumReservedRange{_EnumDescriptorProto'EnumReservedRange'start
+                                                                                   ::
+                                                                                   !(Prelude.Maybe
+                                                                                       Data.Int.Int32),
+                                                                                   _EnumDescriptorProto'EnumReservedRange'end
+                                                                                   ::
+                                                                                   !(Prelude.Maybe
+                                                                                       Data.Int.Int32),
+                                                                                   _EnumDescriptorProto'EnumReservedRange'_unknownFields
+                                                                                   ::
+                                                                                   !Data.ProtoLens.FieldSet}
+                                               deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumDescriptorProto'EnumReservedRange where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField
+           EnumDescriptorProto'EnumReservedRange
+           "start"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _EnumDescriptorProto'EnumReservedRange'start
+               (\ x__ y__ ->
+                  x__{_EnumDescriptorProto'EnumReservedRange'start = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField
+           EnumDescriptorProto'EnumReservedRange
+           "maybe'start"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _EnumDescriptorProto'EnumReservedRange'start
+               (\ x__ y__ ->
+                  x__{_EnumDescriptorProto'EnumReservedRange'start = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField
+           EnumDescriptorProto'EnumReservedRange
+           "end"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _EnumDescriptorProto'EnumReservedRange'end
+               (\ x__ y__ ->
+                  x__{_EnumDescriptorProto'EnumReservedRange'end = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField
+           EnumDescriptorProto'EnumReservedRange
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _EnumDescriptorProto'EnumReservedRange'end
+               (\ x__ y__ ->
+                  x__{_EnumDescriptorProto'EnumReservedRange'end = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message
+           EnumDescriptorProto'EnumReservedRange
+         where
+        messageName _
+          = Data.Text.pack
+              "google.protobuf.EnumDescriptorProto.EnumReservedRange"
+        fieldsByTag
+          = let start__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "start"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'start"))
+                      ::
+                      Data.ProtoLens.FieldDescriptor
+                        EnumDescriptorProto'EnumReservedRange
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'end"))
+                      ::
+                      Data.ProtoLens.FieldDescriptor
+                        EnumDescriptorProto'EnumReservedRange
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, start__field_descriptor),
+                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _EnumDescriptorProto'EnumReservedRange'_unknownFields
+              (\ x__ y__ ->
+                 x__{_EnumDescriptorProto'EnumReservedRange'_unknownFields = y__})
+        defMessage
+          = EnumDescriptorProto'EnumReservedRange{_EnumDescriptorProto'EnumReservedRange'start
+                                                    = Prelude.Nothing,
+                                                  _EnumDescriptorProto'EnumReservedRange'end =
+                                                    Prelude.Nothing,
+                                                  _EnumDescriptorProto'EnumReservedRange'_unknownFields
+                                                    = ([])}
+        parseMessage
+          = let loop ::
+                     EnumDescriptorProto'EnumReservedRange ->
+                       Data.ProtoLens.Encoding.Bytes.Parser
+                         EnumDescriptorProto'EnumReservedRange
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                               Data.ProtoLens.Encoding.Bytes.<?> "start"
+                                        loop
+                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y
+                                             x)
+                                16 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "end"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "EnumReservedRange"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            Prelude.fromIntegral)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              Prelude.fromIntegral)
+                                             _v)
+                   Data.Monoid.<>
+                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData
+           EnumDescriptorProto'EnumReservedRange
+         where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_EnumDescriptorProto'EnumReservedRange'_unknownFields x__)
+                 (Control.DeepSeq.deepseq
+                    (_EnumDescriptorProto'EnumReservedRange'start x__)
+                    (Control.DeepSeq.deepseq
+                       (_EnumDescriptorProto'EnumReservedRange'end x__)
+                       (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.allowAlias' @:: Lens' EnumOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'allowAlias' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' EnumOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data EnumOptions = EnumOptions{_EnumOptions'allowAlias ::
+                               !(Prelude.Maybe Prelude.Bool),
+                               _EnumOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                               _EnumOptions'uninterpretedOption ::
+                               !(Data.Vector.Vector UninterpretedOption),
+                               _EnumOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                     deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField EnumOptions "allowAlias"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
+               (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField EnumOptions
+           "maybe'allowAlias"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
+               (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumOptions "deprecated"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
+               (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField EnumOptions
+           "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
+               (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_EnumOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField EnumOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_EnumOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message EnumOptions where
+        messageName _ = Data.Text.pack "google.protobuf.EnumOptions"
+        fieldsByTag
+          = let allowAlias__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "allow_alias"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'allowAlias"))
+                      :: Data.ProtoLens.FieldDescriptor EnumOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'deprecated"))
+                      :: Data.ProtoLens.FieldDescriptor EnumOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor EnumOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 2, allowAlias__field_descriptor),
+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _EnumOptions'_unknownFields
+              (\ x__ y__ -> x__{_EnumOptions'_unknownFields = y__})
+        defMessage
+          = EnumOptions{_EnumOptions'allowAlias = Prelude.Nothing,
+                        _EnumOptions'deprecated = Prelude.Nothing,
+                        _EnumOptions'uninterpretedOption = Data.Vector.Generic.empty,
+                        _EnumOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     EnumOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser EnumOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                16 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "allow_alias"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"allowAlias")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                24 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "deprecated"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"deprecated")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "EnumOptions"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'allowAlias")
+                    _x
+                  of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            (\ b -> if b then 1 else 0))
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'deprecated")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              (\ b -> if b then 1 else 0))
+                                             _v)
+                   Data.Monoid.<>
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v ->
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                           (((\ bs ->
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Prelude.. Data.ProtoLens.encodeMessage)
+                             _v)
+                      (Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                         _x))
+                     Data.Monoid.<>
+                     Data.ProtoLens.Encoding.Wire.buildFieldSet
+                       (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData EnumOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_EnumOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_EnumOptions'allowAlias x__)
+                    (Control.DeepSeq.deepseq (_EnumOptions'deprecated x__)
+                       (Control.DeepSeq.deepseq (_EnumOptions'uninterpretedOption x__)
+                          (())))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumValueDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' EnumValueDescriptorProto Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumValueDescriptorProto EnumValueOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe EnumValueOptions)@
+ -}
+data EnumValueDescriptorProto = EnumValueDescriptorProto{_EnumValueDescriptorProto'name
+                                                         :: !(Prelude.Maybe Data.Text.Text),
+                                                         _EnumValueDescriptorProto'number ::
+                                                         !(Prelude.Maybe Data.Int.Int32),
+                                                         _EnumValueDescriptorProto'options ::
+                                                         !(Prelude.Maybe EnumValueOptions),
+                                                         _EnumValueDescriptorProto'_unknownFields ::
+                                                         !Data.ProtoLens.FieldSet}
+                                  deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumValueDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto
+           "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
+               (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto
+           "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
+               (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto
+           "number"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
+               (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto
+           "maybe'number"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
+               (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto
+           "options"
+           (EnumValueOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
+               (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField EnumValueDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe EnumValueOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
+               (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message EnumValueDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.EnumValueDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
+                number__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "number"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'number"))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumValueOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, number__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _EnumValueDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_EnumValueDescriptorProto'_unknownFields = y__})
+        defMessage
+          = EnumValueDescriptorProto{_EnumValueDescriptorProto'name =
+                                       Prelude.Nothing,
+                                     _EnumValueDescriptorProto'number = Prelude.Nothing,
+                                     _EnumValueDescriptorProto'options = Prelude.Nothing,
+                                     _EnumValueDescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     EnumValueDescriptorProto ->
+                       Data.ProtoLens.Encoding.Bytes.Parser EnumValueDescriptorProto
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                16 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "number"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"number")
+                                              y
+                                              x)
+                                26 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "EnumValueDescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'number") _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              Prelude.fromIntegral)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                             Data.Monoid.<>
+                                             (((\ bs ->
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                    Data.Monoid.<>
+                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                Prelude.. Data.ProtoLens.encodeMessage)
+                                               _v)
+                     Data.Monoid.<>
+                     Data.ProtoLens.Encoding.Wire.buildFieldSet
+                       (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData EnumValueDescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_EnumValueDescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'number x__)
+                       (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'options x__)
+                          (())))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumValueOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumValueOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumValueOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' EnumValueOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data EnumValueOptions = EnumValueOptions{_EnumValueOptions'deprecated
+                                         :: !(Prelude.Maybe Prelude.Bool),
+                                         _EnumValueOptions'uninterpretedOption ::
+                                         !(Data.Vector.Vector UninterpretedOption),
+                                         _EnumValueOptions'_unknownFields ::
+                                         !Data.ProtoLens.FieldSet}
+                          deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumValueOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField EnumValueOptions
+           "deprecated"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
+               (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField EnumValueOptions
+           "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
+               (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField EnumValueOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _EnumValueOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_EnumValueOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField EnumValueOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _EnumValueOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_EnumValueOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message EnumValueOptions where
+        messageName _ = Data.Text.pack "google.protobuf.EnumValueOptions"
+        fieldsByTag
+          = let deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'deprecated"))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _EnumValueOptions'_unknownFields
+              (\ x__ y__ -> x__{_EnumValueOptions'_unknownFields = y__})
+        defMessage
+          = EnumValueOptions{_EnumValueOptions'deprecated = Prelude.Nothing,
+                             _EnumValueOptions'uninterpretedOption = Data.Vector.Generic.empty,
+                             _EnumValueOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     EnumValueOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser EnumValueOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                               Data.ProtoLens.Encoding.Bytes.<?> "deprecated"
+                                        loop
+                                          (Lens.Family2.set
+                                             (Data.ProtoLens.Field.field @"deprecated")
+                                             y
+                                             x)
+                                          mutable'uninterpretedOption
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "EnumValueOptions"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'deprecated")
+                    _x
+                  of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            (\ b -> if b then 1 else 0))
+                                           _v)
+                 Data.Monoid.<>
+                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                    (\ _v ->
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                         (((\ bs ->
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Prelude.. Data.ProtoLens.encodeMessage)
+                           _v)
+                    (Lens.Family2.view
+                       (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                       _x))
+                   Data.Monoid.<>
+                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData EnumValueOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_EnumValueOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_EnumValueOptions'deprecated x__)
+                    (Control.DeepSeq.deepseq
+                       (_EnumValueOptions'uninterpretedOption x__)
+                       (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ExtensionRangeOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' ExtensionRangeOptions
+  (Data.Vector.Vector UninterpretedOption)@
+ -}
+data ExtensionRangeOptions = ExtensionRangeOptions{_ExtensionRangeOptions'uninterpretedOption
+                                                   :: !(Data.Vector.Vector UninterpretedOption),
+                                                   _ExtensionRangeOptions'_unknownFields ::
+                                                   !Data.ProtoLens.FieldSet}
+                               deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ExtensionRangeOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _ExtensionRangeOptions'uninterpretedOption
+               (\ x__ y__ ->
+                  x__{_ExtensionRangeOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField ExtensionRangeOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _ExtensionRangeOptions'uninterpretedOption
+               (\ x__ y__ ->
+                  x__{_ExtensionRangeOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message ExtensionRangeOptions where
+        messageName _
+          = Data.Text.pack "google.protobuf.ExtensionRangeOptions"
+        fieldsByTag
+          = let uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor ExtensionRangeOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _ExtensionRangeOptions'_unknownFields
+              (\ x__ y__ -> x__{_ExtensionRangeOptions'_unknownFields = y__})
+        defMessage
+          = ExtensionRangeOptions{_ExtensionRangeOptions'uninterpretedOption
+                                    = Data.Vector.Generic.empty,
+                                  _ExtensionRangeOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     ExtensionRangeOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser ExtensionRangeOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "ExtensionRangeOptions"
+        buildMessage
+          = (\ _x ->
+               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                  (\ _v ->
+                     (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                       (((\ bs ->
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Prelude.. Data.ProtoLens.encodeMessage)
+                         _v)
+                  (Lens.Family2.view
+                     (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                     _x))
+                 Data.Monoid.<>
+                 Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData ExtensionRangeOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_ExtensionRangeOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq
+                    (_ExtensionRangeOptions'uninterpretedOption x__)
+                    (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' FieldDescriptorProto Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.label' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Label@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'label' @:: Lens' FieldDescriptorProto
+  (Prelude.Maybe FieldDescriptorProto'Label)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.type'' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Type@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'type'' @:: Lens' FieldDescriptorProto
+  (Prelude.Maybe FieldDescriptorProto'Type)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.typeName' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'typeName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extendee' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'extendee' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.defaultValue' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'defaultValue' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofIndex' @:: Lens' FieldDescriptorProto Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'oneofIndex' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.jsonName' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jsonName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FieldDescriptorProto FieldOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldOptions)@
+ -}
+data FieldDescriptorProto = FieldDescriptorProto{_FieldDescriptorProto'name
+                                                 :: !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'number ::
+                                                 !(Prelude.Maybe Data.Int.Int32),
+                                                 _FieldDescriptorProto'label ::
+                                                 !(Prelude.Maybe FieldDescriptorProto'Label),
+                                                 _FieldDescriptorProto'type' ::
+                                                 !(Prelude.Maybe FieldDescriptorProto'Type),
+                                                 _FieldDescriptorProto'typeName ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'extendee ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'defaultValue ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'oneofIndex ::
+                                                 !(Prelude.Maybe Data.Int.Int32),
+                                                 _FieldDescriptorProto'jsonName ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'options ::
+                                                 !(Prelude.Maybe FieldOptions),
+                                                 _FieldDescriptorProto'_unknownFields ::
+                                                 !Data.ProtoLens.FieldSet}
+                              deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FieldDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
+               (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
+               (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "number"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
+               (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'number"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
+               (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "label"
+           (FieldDescriptorProto'Label)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
+               (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'label"
+           (Prelude.Maybe FieldDescriptorProto'Label)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
+               (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto "type'"
+           (FieldDescriptorProto'Type)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
+               (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'type'"
+           (Prelude.Maybe FieldDescriptorProto'Type)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
+               (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "typeName"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
+               (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'typeName"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
+               (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "extendee"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
+               (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'extendee"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
+               (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "defaultValue"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
+               (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'defaultValue"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
+               (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "oneofIndex"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
+               (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'oneofIndex"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
+               (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "jsonName"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
+               (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'jsonName"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
+               (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "options"
+           (FieldOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
+               (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField FieldDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe FieldOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
+               (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message FieldDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.FieldDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                number__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "number"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'number"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                label__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "label"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Label)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'label"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                type'__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "type"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Type)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'type'"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                typeName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "type_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'typeName"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                extendee__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extendee"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'extendee"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                defaultValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "default_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'defaultValue"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                oneofIndex__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "oneof_index"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'oneofIndex"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                jsonName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "json_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'jsonName"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 3, number__field_descriptor),
+                 (Data.ProtoLens.Tag 4, label__field_descriptor),
+                 (Data.ProtoLens.Tag 5, type'__field_descriptor),
+                 (Data.ProtoLens.Tag 6, typeName__field_descriptor),
+                 (Data.ProtoLens.Tag 2, extendee__field_descriptor),
+                 (Data.ProtoLens.Tag 7, defaultValue__field_descriptor),
+                 (Data.ProtoLens.Tag 9, oneofIndex__field_descriptor),
+                 (Data.ProtoLens.Tag 10, jsonName__field_descriptor),
+                 (Data.ProtoLens.Tag 8, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FieldDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_FieldDescriptorProto'_unknownFields = y__})
+        defMessage
+          = FieldDescriptorProto{_FieldDescriptorProto'name =
+                                   Prelude.Nothing,
+                                 _FieldDescriptorProto'number = Prelude.Nothing,
+                                 _FieldDescriptorProto'label = Prelude.Nothing,
+                                 _FieldDescriptorProto'type' = Prelude.Nothing,
+                                 _FieldDescriptorProto'typeName = Prelude.Nothing,
+                                 _FieldDescriptorProto'extendee = Prelude.Nothing,
+                                 _FieldDescriptorProto'defaultValue = Prelude.Nothing,
+                                 _FieldDescriptorProto'oneofIndex = Prelude.Nothing,
+                                 _FieldDescriptorProto'jsonName = Prelude.Nothing,
+                                 _FieldDescriptorProto'options = Prelude.Nothing,
+                                 _FieldDescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     FieldDescriptorProto ->
+                       Data.ProtoLens.Encoding.Bytes.Parser FieldDescriptorProto
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                24 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "number"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"number")
+                                              y
+                                              x)
+                                32 -> do y <- (Prelude.fmap Prelude.toEnum
+                                                 (Prelude.fmap Prelude.fromIntegral
+                                                    Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "label"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y
+                                              x)
+                                40 -> do y <- (Prelude.fmap Prelude.toEnum
+                                                 (Prelude.fmap Prelude.fromIntegral
+                                                    Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "type"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"type'") y
+                                              x)
+                                50 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "type_name"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"typeName")
+                                              y
+                                              x)
+                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "extendee"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"extendee")
+                                              y
+                                              x)
+                                58 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "default_value"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"defaultValue")
+                                              y
+                                              x)
+                                72 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "oneof_index"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"oneofIndex")
+                                              y
+                                              x)
+                                82 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "json_name"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"jsonName")
+                                              y
+                                              x)
+                                66 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "FieldDescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'number") _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              Prelude.fromIntegral)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'label") _x of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                                             Data.Monoid.<>
+                                             (((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                 Prelude.fromIntegral)
+                                                Prelude.. Prelude.fromEnum)
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'type'") _x of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                               Data.Monoid.<>
+                                               (((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                   Prelude.fromIntegral)
+                                                  Prelude.. Prelude.fromEnum)
+                                                 _v)
+                       Data.Monoid.<>
+                       (case
+                          Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'typeName") _x
+                          of
+                            (Prelude.Nothing) -> Data.Monoid.mempty
+                            Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                                 Data.Monoid.<>
+                                                 (((\ bs ->
+                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                         (Prelude.fromIntegral
+                                                            (Data.ByteString.length bs)))
+                                                        Data.Monoid.<>
+                                                        Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                    Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                   _v)
+                         Data.Monoid.<>
+                         (case
+                            Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'extendee") _x
+                            of
+                              (Prelude.Nothing) -> Data.Monoid.mempty
+                              Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                                   Data.Monoid.<>
+                                                   (((\ bs ->
+                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                           (Prelude.fromIntegral
+                                                              (Data.ByteString.length bs)))
+                                                          Data.Monoid.<>
+                                                          Data.ProtoLens.Encoding.Bytes.putBytes
+                                                            bs))
+                                                      Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                     _v)
+                           Data.Monoid.<>
+                           (case
+                              Lens.Family2.view
+                                (Data.ProtoLens.Field.field @"maybe'defaultValue")
+                                _x
+                              of
+                                (Prelude.Nothing) -> Data.Monoid.mempty
+                                Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                                                     Data.Monoid.<>
+                                                     (((\ bs ->
+                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             (Prelude.fromIntegral
+                                                                (Data.ByteString.length bs)))
+                                                            Data.Monoid.<>
+                                                            Data.ProtoLens.Encoding.Bytes.putBytes
+                                                              bs))
+                                                        Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                       _v)
+                             Data.Monoid.<>
+                             (case
+                                Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'oneofIndex")
+                                  _x
+                                of
+                                  (Prelude.Nothing) -> Data.Monoid.mempty
+                                  Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
+                                                       Data.Monoid.<>
+                                                       ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                          Prelude.. Prelude.fromIntegral)
+                                                         _v)
+                               Data.Monoid.<>
+                               (case
+                                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'jsonName")
+                                    _x
+                                  of
+                                    (Prelude.Nothing) -> Data.Monoid.mempty
+                                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
+                                                         Data.Monoid.<>
+                                                         (((\ bs ->
+                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                 (Prelude.fromIntegral
+                                                                    (Data.ByteString.length bs)))
+                                                                Data.Monoid.<>
+                                                                Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                  bs))
+                                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                           _v)
+                                 Data.Monoid.<>
+                                 (case
+                                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options")
+                                      _x
+                                    of
+                                      (Prelude.Nothing) -> Data.Monoid.mempty
+                                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                            66)
+                                                           Data.Monoid.<>
+                                                           (((\ bs ->
+                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                   (Prelude.fromIntegral
+                                                                      (Data.ByteString.length bs)))
+                                                                  Data.Monoid.<>
+                                                                  Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                    bs))
+                                                              Prelude..
+                                                              Data.ProtoLens.encodeMessage)
+                                                             _v)
+                                   Data.Monoid.<>
+                                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData FieldDescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_FieldDescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_FieldDescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_FieldDescriptorProto'number x__)
+                       (Control.DeepSeq.deepseq (_FieldDescriptorProto'label x__)
+                          (Control.DeepSeq.deepseq (_FieldDescriptorProto'type' x__)
+                             (Control.DeepSeq.deepseq (_FieldDescriptorProto'typeName x__)
+                                (Control.DeepSeq.deepseq (_FieldDescriptorProto'extendee x__)
+                                   (Control.DeepSeq.deepseq (_FieldDescriptorProto'defaultValue x__)
+                                      (Control.DeepSeq.deepseq
+                                         (_FieldDescriptorProto'oneofIndex x__)
+                                         (Control.DeepSeq.deepseq
+                                            (_FieldDescriptorProto'jsonName x__)
+                                            (Control.DeepSeq.deepseq
+                                               (_FieldDescriptorProto'options x__)
+                                               (()))))))))))))
+data FieldDescriptorProto'Label = FieldDescriptorProto'LABEL_OPTIONAL
+                                | FieldDescriptorProto'LABEL_REQUIRED
+                                | FieldDescriptorProto'LABEL_REPEATED
+                                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Label
+         where
+        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
+        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
+        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'LABEL_REPEATED
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldDescriptorProto'LABEL_OPTIONAL = "LABEL_OPTIONAL"
+        showEnum FieldDescriptorProto'LABEL_REQUIRED = "LABEL_REQUIRED"
+        showEnum FieldDescriptorProto'LABEL_REPEATED = "LABEL_REPEATED"
+        readEnum k
+          | (k) Prelude.== "LABEL_OPTIONAL" =
+            Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
+          | (k) Prelude.== "LABEL_REQUIRED" =
+            Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
+          | (k) Prelude.== "LABEL_REPEATED" =
+            Prelude.Just FieldDescriptorProto'LABEL_REPEATED
+        readEnum k
+          = (Text.Read.readMaybe k) Prelude.>>= Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded FieldDescriptorProto'Label where
+        minBound = FieldDescriptorProto'LABEL_OPTIONAL
+        maxBound = FieldDescriptorProto'LABEL_REPEATED
+instance Prelude.Enum FieldDescriptorProto'Label where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 (("toEnum: unknown value for enum Label: ") Prelude.++
+                    Prelude.show k__))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldDescriptorProto'LABEL_OPTIONAL = 1
+        fromEnum FieldDescriptorProto'LABEL_REQUIRED = 2
+        fromEnum FieldDescriptorProto'LABEL_REPEATED = 3
+        succ FieldDescriptorProto'LABEL_REPEATED
+          = Prelude.error
+              "FieldDescriptorProto'Label.succ: bad argument FieldDescriptorProto'LABEL_REPEATED. This value would be out of bounds."
+        succ FieldDescriptorProto'LABEL_OPTIONAL
+          = FieldDescriptorProto'LABEL_REQUIRED
+        succ FieldDescriptorProto'LABEL_REQUIRED
+          = FieldDescriptorProto'LABEL_REPEATED
+        pred FieldDescriptorProto'LABEL_OPTIONAL
+          = Prelude.error
+              "FieldDescriptorProto'Label.pred: bad argument FieldDescriptorProto'LABEL_OPTIONAL. This value would be out of bounds."
+        pred FieldDescriptorProto'LABEL_REQUIRED
+          = FieldDescriptorProto'LABEL_OPTIONAL
+        pred FieldDescriptorProto'LABEL_REPEATED
+          = FieldDescriptorProto'LABEL_REQUIRED
+        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Label
+         where
+        fieldDefault = FieldDescriptorProto'LABEL_OPTIONAL
+instance Control.DeepSeq.NFData FieldDescriptorProto'Label where
+        rnf x__ = Prelude.seq x__ (())
+data FieldDescriptorProto'Type = FieldDescriptorProto'TYPE_DOUBLE
+                               | FieldDescriptorProto'TYPE_FLOAT
+                               | FieldDescriptorProto'TYPE_INT64
+                               | FieldDescriptorProto'TYPE_UINT64
+                               | FieldDescriptorProto'TYPE_INT32
+                               | FieldDescriptorProto'TYPE_FIXED64
+                               | FieldDescriptorProto'TYPE_FIXED32
+                               | FieldDescriptorProto'TYPE_BOOL
+                               | FieldDescriptorProto'TYPE_STRING
+                               | FieldDescriptorProto'TYPE_GROUP
+                               | FieldDescriptorProto'TYPE_MESSAGE
+                               | FieldDescriptorProto'TYPE_BYTES
+                               | FieldDescriptorProto'TYPE_UINT32
+                               | FieldDescriptorProto'TYPE_ENUM
+                               | FieldDescriptorProto'TYPE_SFIXED32
+                               | FieldDescriptorProto'TYPE_SFIXED64
+                               | FieldDescriptorProto'TYPE_SINT32
+                               | FieldDescriptorProto'TYPE_SINT64
+                                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Type where
+        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
+        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'TYPE_FLOAT
+        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'TYPE_INT64
+        maybeToEnum 4 = Prelude.Just FieldDescriptorProto'TYPE_UINT64
+        maybeToEnum 5 = Prelude.Just FieldDescriptorProto'TYPE_INT32
+        maybeToEnum 6 = Prelude.Just FieldDescriptorProto'TYPE_FIXED64
+        maybeToEnum 7 = Prelude.Just FieldDescriptorProto'TYPE_FIXED32
+        maybeToEnum 8 = Prelude.Just FieldDescriptorProto'TYPE_BOOL
+        maybeToEnum 9 = Prelude.Just FieldDescriptorProto'TYPE_STRING
+        maybeToEnum 10 = Prelude.Just FieldDescriptorProto'TYPE_GROUP
+        maybeToEnum 11 = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
+        maybeToEnum 12 = Prelude.Just FieldDescriptorProto'TYPE_BYTES
+        maybeToEnum 13 = Prelude.Just FieldDescriptorProto'TYPE_UINT32
+        maybeToEnum 14 = Prelude.Just FieldDescriptorProto'TYPE_ENUM
+        maybeToEnum 15 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
+        maybeToEnum 16 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
+        maybeToEnum 17 = Prelude.Just FieldDescriptorProto'TYPE_SINT32
+        maybeToEnum 18 = Prelude.Just FieldDescriptorProto'TYPE_SINT64
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldDescriptorProto'TYPE_DOUBLE = "TYPE_DOUBLE"
+        showEnum FieldDescriptorProto'TYPE_FLOAT = "TYPE_FLOAT"
+        showEnum FieldDescriptorProto'TYPE_INT64 = "TYPE_INT64"
+        showEnum FieldDescriptorProto'TYPE_UINT64 = "TYPE_UINT64"
+        showEnum FieldDescriptorProto'TYPE_INT32 = "TYPE_INT32"
+        showEnum FieldDescriptorProto'TYPE_FIXED64 = "TYPE_FIXED64"
+        showEnum FieldDescriptorProto'TYPE_FIXED32 = "TYPE_FIXED32"
+        showEnum FieldDescriptorProto'TYPE_BOOL = "TYPE_BOOL"
+        showEnum FieldDescriptorProto'TYPE_STRING = "TYPE_STRING"
+        showEnum FieldDescriptorProto'TYPE_GROUP = "TYPE_GROUP"
+        showEnum FieldDescriptorProto'TYPE_MESSAGE = "TYPE_MESSAGE"
+        showEnum FieldDescriptorProto'TYPE_BYTES = "TYPE_BYTES"
+        showEnum FieldDescriptorProto'TYPE_UINT32 = "TYPE_UINT32"
+        showEnum FieldDescriptorProto'TYPE_ENUM = "TYPE_ENUM"
+        showEnum FieldDescriptorProto'TYPE_SFIXED32 = "TYPE_SFIXED32"
+        showEnum FieldDescriptorProto'TYPE_SFIXED64 = "TYPE_SFIXED64"
+        showEnum FieldDescriptorProto'TYPE_SINT32 = "TYPE_SINT32"
+        showEnum FieldDescriptorProto'TYPE_SINT64 = "TYPE_SINT64"
+        readEnum k
+          | (k) Prelude.== "TYPE_DOUBLE" =
+            Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
+          | (k) Prelude.== "TYPE_FLOAT" =
+            Prelude.Just FieldDescriptorProto'TYPE_FLOAT
+          | (k) Prelude.== "TYPE_INT64" =
+            Prelude.Just FieldDescriptorProto'TYPE_INT64
+          | (k) Prelude.== "TYPE_UINT64" =
+            Prelude.Just FieldDescriptorProto'TYPE_UINT64
+          | (k) Prelude.== "TYPE_INT32" =
+            Prelude.Just FieldDescriptorProto'TYPE_INT32
+          | (k) Prelude.== "TYPE_FIXED64" =
+            Prelude.Just FieldDescriptorProto'TYPE_FIXED64
+          | (k) Prelude.== "TYPE_FIXED32" =
+            Prelude.Just FieldDescriptorProto'TYPE_FIXED32
+          | (k) Prelude.== "TYPE_BOOL" =
+            Prelude.Just FieldDescriptorProto'TYPE_BOOL
+          | (k) Prelude.== "TYPE_STRING" =
+            Prelude.Just FieldDescriptorProto'TYPE_STRING
+          | (k) Prelude.== "TYPE_GROUP" =
+            Prelude.Just FieldDescriptorProto'TYPE_GROUP
+          | (k) Prelude.== "TYPE_MESSAGE" =
+            Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
+          | (k) Prelude.== "TYPE_BYTES" =
+            Prelude.Just FieldDescriptorProto'TYPE_BYTES
+          | (k) Prelude.== "TYPE_UINT32" =
+            Prelude.Just FieldDescriptorProto'TYPE_UINT32
+          | (k) Prelude.== "TYPE_ENUM" =
+            Prelude.Just FieldDescriptorProto'TYPE_ENUM
+          | (k) Prelude.== "TYPE_SFIXED32" =
+            Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
+          | (k) Prelude.== "TYPE_SFIXED64" =
+            Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
+          | (k) Prelude.== "TYPE_SINT32" =
+            Prelude.Just FieldDescriptorProto'TYPE_SINT32
+          | (k) Prelude.== "TYPE_SINT64" =
+            Prelude.Just FieldDescriptorProto'TYPE_SINT64
+        readEnum k
+          = (Text.Read.readMaybe k) Prelude.>>= Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded FieldDescriptorProto'Type where
+        minBound = FieldDescriptorProto'TYPE_DOUBLE
+        maxBound = FieldDescriptorProto'TYPE_SINT64
+instance Prelude.Enum FieldDescriptorProto'Type where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 (("toEnum: unknown value for enum Type: ") Prelude.++
+                    Prelude.show k__))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldDescriptorProto'TYPE_DOUBLE = 1
+        fromEnum FieldDescriptorProto'TYPE_FLOAT = 2
+        fromEnum FieldDescriptorProto'TYPE_INT64 = 3
+        fromEnum FieldDescriptorProto'TYPE_UINT64 = 4
+        fromEnum FieldDescriptorProto'TYPE_INT32 = 5
+        fromEnum FieldDescriptorProto'TYPE_FIXED64 = 6
+        fromEnum FieldDescriptorProto'TYPE_FIXED32 = 7
+        fromEnum FieldDescriptorProto'TYPE_BOOL = 8
+        fromEnum FieldDescriptorProto'TYPE_STRING = 9
+        fromEnum FieldDescriptorProto'TYPE_GROUP = 10
+        fromEnum FieldDescriptorProto'TYPE_MESSAGE = 11
+        fromEnum FieldDescriptorProto'TYPE_BYTES = 12
+        fromEnum FieldDescriptorProto'TYPE_UINT32 = 13
+        fromEnum FieldDescriptorProto'TYPE_ENUM = 14
+        fromEnum FieldDescriptorProto'TYPE_SFIXED32 = 15
+        fromEnum FieldDescriptorProto'TYPE_SFIXED64 = 16
+        fromEnum FieldDescriptorProto'TYPE_SINT32 = 17
+        fromEnum FieldDescriptorProto'TYPE_SINT64 = 18
+        succ FieldDescriptorProto'TYPE_SINT64
+          = Prelude.error
+              "FieldDescriptorProto'Type.succ: bad argument FieldDescriptorProto'TYPE_SINT64. This value would be out of bounds."
+        succ FieldDescriptorProto'TYPE_DOUBLE
+          = FieldDescriptorProto'TYPE_FLOAT
+        succ FieldDescriptorProto'TYPE_FLOAT
+          = FieldDescriptorProto'TYPE_INT64
+        succ FieldDescriptorProto'TYPE_INT64
+          = FieldDescriptorProto'TYPE_UINT64
+        succ FieldDescriptorProto'TYPE_UINT64
+          = FieldDescriptorProto'TYPE_INT32
+        succ FieldDescriptorProto'TYPE_INT32
+          = FieldDescriptorProto'TYPE_FIXED64
+        succ FieldDescriptorProto'TYPE_FIXED64
+          = FieldDescriptorProto'TYPE_FIXED32
+        succ FieldDescriptorProto'TYPE_FIXED32
+          = FieldDescriptorProto'TYPE_BOOL
+        succ FieldDescriptorProto'TYPE_BOOL
+          = FieldDescriptorProto'TYPE_STRING
+        succ FieldDescriptorProto'TYPE_STRING
+          = FieldDescriptorProto'TYPE_GROUP
+        succ FieldDescriptorProto'TYPE_GROUP
+          = FieldDescriptorProto'TYPE_MESSAGE
+        succ FieldDescriptorProto'TYPE_MESSAGE
+          = FieldDescriptorProto'TYPE_BYTES
+        succ FieldDescriptorProto'TYPE_BYTES
+          = FieldDescriptorProto'TYPE_UINT32
+        succ FieldDescriptorProto'TYPE_UINT32
+          = FieldDescriptorProto'TYPE_ENUM
+        succ FieldDescriptorProto'TYPE_ENUM
+          = FieldDescriptorProto'TYPE_SFIXED32
+        succ FieldDescriptorProto'TYPE_SFIXED32
+          = FieldDescriptorProto'TYPE_SFIXED64
+        succ FieldDescriptorProto'TYPE_SFIXED64
+          = FieldDescriptorProto'TYPE_SINT32
+        succ FieldDescriptorProto'TYPE_SINT32
+          = FieldDescriptorProto'TYPE_SINT64
+        pred FieldDescriptorProto'TYPE_DOUBLE
+          = Prelude.error
+              "FieldDescriptorProto'Type.pred: bad argument FieldDescriptorProto'TYPE_DOUBLE. This value would be out of bounds."
+        pred FieldDescriptorProto'TYPE_FLOAT
+          = FieldDescriptorProto'TYPE_DOUBLE
+        pred FieldDescriptorProto'TYPE_INT64
+          = FieldDescriptorProto'TYPE_FLOAT
+        pred FieldDescriptorProto'TYPE_UINT64
+          = FieldDescriptorProto'TYPE_INT64
+        pred FieldDescriptorProto'TYPE_INT32
+          = FieldDescriptorProto'TYPE_UINT64
+        pred FieldDescriptorProto'TYPE_FIXED64
+          = FieldDescriptorProto'TYPE_INT32
+        pred FieldDescriptorProto'TYPE_FIXED32
+          = FieldDescriptorProto'TYPE_FIXED64
+        pred FieldDescriptorProto'TYPE_BOOL
+          = FieldDescriptorProto'TYPE_FIXED32
+        pred FieldDescriptorProto'TYPE_STRING
+          = FieldDescriptorProto'TYPE_BOOL
+        pred FieldDescriptorProto'TYPE_GROUP
+          = FieldDescriptorProto'TYPE_STRING
+        pred FieldDescriptorProto'TYPE_MESSAGE
+          = FieldDescriptorProto'TYPE_GROUP
+        pred FieldDescriptorProto'TYPE_BYTES
+          = FieldDescriptorProto'TYPE_MESSAGE
+        pred FieldDescriptorProto'TYPE_UINT32
+          = FieldDescriptorProto'TYPE_BYTES
+        pred FieldDescriptorProto'TYPE_ENUM
+          = FieldDescriptorProto'TYPE_UINT32
+        pred FieldDescriptorProto'TYPE_SFIXED32
+          = FieldDescriptorProto'TYPE_ENUM
+        pred FieldDescriptorProto'TYPE_SFIXED64
+          = FieldDescriptorProto'TYPE_SFIXED32
+        pred FieldDescriptorProto'TYPE_SINT32
+          = FieldDescriptorProto'TYPE_SFIXED64
+        pred FieldDescriptorProto'TYPE_SINT64
+          = FieldDescriptorProto'TYPE_SINT32
+        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Type
+         where
+        fieldDefault = FieldDescriptorProto'TYPE_DOUBLE
+instance Control.DeepSeq.NFData FieldDescriptorProto'Type where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.ctype' @:: Lens' FieldOptions FieldOptions'CType@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ctype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'CType)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.packed' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'packed' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.jstype' @:: Lens' FieldOptions FieldOptions'JSType@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jstype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'JSType)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.lazy' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'lazy' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.weak' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'weak' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FieldOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' FieldOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data FieldOptions = FieldOptions{_FieldOptions'ctype ::
+                                 !(Prelude.Maybe FieldOptions'CType),
+                                 _FieldOptions'packed :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'jstype :: !(Prelude.Maybe FieldOptions'JSType),
+                                 _FieldOptions'lazy :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'weak :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'uninterpretedOption ::
+                                 !(Data.Vector.Vector UninterpretedOption),
+                                 _FieldOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FieldOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FieldOptions "ctype"
+           (FieldOptions'CType)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'ctype
+               (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
+              Prelude.. Data.ProtoLens.maybeLens FieldOptions'STRING
+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'ctype"
+           (Prelude.Maybe FieldOptions'CType)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'ctype
+               (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldOptions "packed"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'packed
+               (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'packed"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'packed
+               (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldOptions "jstype"
+           (FieldOptions'JSType)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'jstype
+               (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
+              Prelude.. Data.ProtoLens.maybeLens FieldOptions'JS_NORMAL
+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'jstype"
+           (Prelude.Maybe FieldOptions'JSType)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'jstype
+               (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldOptions "lazy"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'lazy
+               (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'lazy"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'lazy
+               (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldOptions "deprecated"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
+               (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FieldOptions
+           "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
+               (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldOptions "weak"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'weak
+               (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FieldOptions "maybe'weak"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'weak
+               (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FieldOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_FieldOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FieldOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FieldOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_FieldOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message FieldOptions where
+        messageName _ = Data.Text.pack "google.protobuf.FieldOptions"
+        fieldsByTag
+          = let ctype__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "ctype"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'CType)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'ctype"))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                packed__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "packed"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'packed"))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                jstype__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "jstype"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'JSType)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'jstype"))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                lazy__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "lazy"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'lazy"))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'deprecated"))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                weak__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "weak"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'weak"))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, ctype__field_descriptor),
+                 (Data.ProtoLens.Tag 2, packed__field_descriptor),
+                 (Data.ProtoLens.Tag 6, jstype__field_descriptor),
+                 (Data.ProtoLens.Tag 5, lazy__field_descriptor),
+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 10, weak__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FieldOptions'_unknownFields
+              (\ x__ y__ -> x__{_FieldOptions'_unknownFields = y__})
+        defMessage
+          = FieldOptions{_FieldOptions'ctype = Prelude.Nothing,
+                         _FieldOptions'packed = Prelude.Nothing,
+                         _FieldOptions'jstype = Prelude.Nothing,
+                         _FieldOptions'lazy = Prelude.Nothing,
+                         _FieldOptions'deprecated = Prelude.Nothing,
+                         _FieldOptions'weak = Prelude.Nothing,
+                         _FieldOptions'uninterpretedOption = Data.Vector.Generic.empty,
+                         _FieldOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     FieldOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser FieldOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do y <- (Prelude.fmap Prelude.toEnum
+                                                (Prelude.fmap Prelude.fromIntegral
+                                                   Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                               Data.ProtoLens.Encoding.Bytes.<?> "ctype"
+                                        loop
+                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"ctype") y
+                                             x)
+                                          mutable'uninterpretedOption
+                                16 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "packed"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"packed")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                48 -> do y <- (Prelude.fmap Prelude.toEnum
+                                                 (Prelude.fmap Prelude.fromIntegral
+                                                    Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "jstype"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"jstype")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                40 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "lazy"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"lazy") y
+                                              x)
+                                           mutable'uninterpretedOption
+                                24 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "deprecated"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"deprecated")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                80 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "weak"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"weak") y
+                                              x)
+                                           mutable'uninterpretedOption
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "FieldOptions"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'ctype") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                                         Data.Monoid.<>
+                                         (((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                             Prelude.fromIntegral)
+                                            Prelude.. Prelude.fromEnum)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'packed") _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              (\ b -> if b then 1 else 0))
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'jstype") _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+                                             Data.Monoid.<>
+                                             (((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                 Prelude.fromIntegral)
+                                                Prelude.. Prelude.fromEnum)
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'lazy") _x of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                               Data.Monoid.<>
+                                               ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                  (\ b -> if b then 1 else 0))
+                                                 _v)
+                       Data.Monoid.<>
+                       (case
+                          Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'deprecated")
+                            _x
+                          of
+                            (Prelude.Nothing) -> Data.Monoid.mempty
+                            Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                                                 Data.Monoid.<>
+                                                 ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                    Prelude.. (\ b -> if b then 1 else 0))
+                                                   _v)
+                         Data.Monoid.<>
+                         (case
+                            Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'weak") _x of
+                              (Prelude.Nothing) -> Data.Monoid.mempty
+                              Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 80)
+                                                   Data.Monoid.<>
+                                                   ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                      Prelude.. (\ b -> if b then 1 else 0))
+                                                     _v)
+                           Data.Monoid.<>
+                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                              (\ _v ->
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                                   (((\ bs ->
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                          Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Prelude.. Data.ProtoLens.encodeMessage)
+                                     _v)
+                              (Lens.Family2.view
+                                 (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                 _x))
+                             Data.Monoid.<>
+                             Data.ProtoLens.Encoding.Wire.buildFieldSet
+                               (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData FieldOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_FieldOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_FieldOptions'ctype x__)
+                    (Control.DeepSeq.deepseq (_FieldOptions'packed x__)
+                       (Control.DeepSeq.deepseq (_FieldOptions'jstype x__)
+                          (Control.DeepSeq.deepseq (_FieldOptions'lazy x__)
+                             (Control.DeepSeq.deepseq (_FieldOptions'deprecated x__)
+                                (Control.DeepSeq.deepseq (_FieldOptions'weak x__)
+                                   (Control.DeepSeq.deepseq (_FieldOptions'uninterpretedOption x__)
+                                      (())))))))))
+data FieldOptions'CType = FieldOptions'STRING
+                        | FieldOptions'CORD
+                        | FieldOptions'STRING_PIECE
+                            deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum FieldOptions'CType where
+        maybeToEnum 0 = Prelude.Just FieldOptions'STRING
+        maybeToEnum 1 = Prelude.Just FieldOptions'CORD
+        maybeToEnum 2 = Prelude.Just FieldOptions'STRING_PIECE
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldOptions'STRING = "STRING"
+        showEnum FieldOptions'CORD = "CORD"
+        showEnum FieldOptions'STRING_PIECE = "STRING_PIECE"
+        readEnum k
+          | (k) Prelude.== "STRING" = Prelude.Just FieldOptions'STRING
+          | (k) Prelude.== "CORD" = Prelude.Just FieldOptions'CORD
+          | (k) Prelude.== "STRING_PIECE" =
+            Prelude.Just FieldOptions'STRING_PIECE
+        readEnum k
+          = (Text.Read.readMaybe k) Prelude.>>= Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded FieldOptions'CType where
+        minBound = FieldOptions'STRING
+        maxBound = FieldOptions'STRING_PIECE
+instance Prelude.Enum FieldOptions'CType where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 (("toEnum: unknown value for enum CType: ") Prelude.++
+                    Prelude.show k__))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldOptions'STRING = 0
+        fromEnum FieldOptions'CORD = 1
+        fromEnum FieldOptions'STRING_PIECE = 2
+        succ FieldOptions'STRING_PIECE
+          = Prelude.error
+              "FieldOptions'CType.succ: bad argument FieldOptions'STRING_PIECE. This value would be out of bounds."
+        succ FieldOptions'STRING = FieldOptions'CORD
+        succ FieldOptions'CORD = FieldOptions'STRING_PIECE
+        pred FieldOptions'STRING
+          = Prelude.error
+              "FieldOptions'CType.pred: bad argument FieldOptions'STRING. This value would be out of bounds."
+        pred FieldOptions'CORD = FieldOptions'STRING
+        pred FieldOptions'STRING_PIECE = FieldOptions'CORD
+        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault FieldOptions'CType where
+        fieldDefault = FieldOptions'STRING
+instance Control.DeepSeq.NFData FieldOptions'CType where
+        rnf x__ = Prelude.seq x__ (())
+data FieldOptions'JSType = FieldOptions'JS_NORMAL
+                         | FieldOptions'JS_STRING
+                         | FieldOptions'JS_NUMBER
+                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum FieldOptions'JSType where
+        maybeToEnum 0 = Prelude.Just FieldOptions'JS_NORMAL
+        maybeToEnum 1 = Prelude.Just FieldOptions'JS_STRING
+        maybeToEnum 2 = Prelude.Just FieldOptions'JS_NUMBER
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldOptions'JS_NORMAL = "JS_NORMAL"
+        showEnum FieldOptions'JS_STRING = "JS_STRING"
+        showEnum FieldOptions'JS_NUMBER = "JS_NUMBER"
+        readEnum k
+          | (k) Prelude.== "JS_NORMAL" = Prelude.Just FieldOptions'JS_NORMAL
+          | (k) Prelude.== "JS_STRING" = Prelude.Just FieldOptions'JS_STRING
+          | (k) Prelude.== "JS_NUMBER" = Prelude.Just FieldOptions'JS_NUMBER
+        readEnum k
+          = (Text.Read.readMaybe k) Prelude.>>= Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded FieldOptions'JSType where
+        minBound = FieldOptions'JS_NORMAL
+        maxBound = FieldOptions'JS_NUMBER
+instance Prelude.Enum FieldOptions'JSType where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 (("toEnum: unknown value for enum JSType: ") Prelude.++
+                    Prelude.show k__))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldOptions'JS_NORMAL = 0
+        fromEnum FieldOptions'JS_STRING = 1
+        fromEnum FieldOptions'JS_NUMBER = 2
+        succ FieldOptions'JS_NUMBER
+          = Prelude.error
+              "FieldOptions'JSType.succ: bad argument FieldOptions'JS_NUMBER. This value would be out of bounds."
+        succ FieldOptions'JS_NORMAL = FieldOptions'JS_STRING
+        succ FieldOptions'JS_STRING = FieldOptions'JS_NUMBER
+        pred FieldOptions'JS_NORMAL
+          = Prelude.error
+              "FieldOptions'JSType.pred: bad argument FieldOptions'JS_NORMAL. This value would be out of bounds."
+        pred FieldOptions'JS_STRING = FieldOptions'JS_NORMAL
+        pred FieldOptions'JS_NUMBER = FieldOptions'JS_STRING
+        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault FieldOptions'JSType where
+        fieldDefault = FieldOptions'JS_NORMAL
+instance Control.DeepSeq.NFData FieldOptions'JSType where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FileDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.package' @:: Lens' FileDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'package' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.dependency' @:: Lens' FileDescriptorProto [Data.Text.Text]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'dependency' @:: Lens' FileDescriptorProto (Data.Vector.Vector Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.publicDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'publicDependency' @:: Lens' FileDescriptorProto
+  (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.weakDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'weakDependency' @:: Lens' FileDescriptorProto
+  (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.messageType' @:: Lens' FileDescriptorProto [DescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'messageType' @:: Lens' FileDescriptorProto (Data.Vector.Vector DescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' FileDescriptorProto [EnumDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'enumType' @:: Lens' FileDescriptorProto (Data.Vector.Vector EnumDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.service' @:: Lens' FileDescriptorProto [ServiceDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'service' @:: Lens' FileDescriptorProto
+  (Data.Vector.Vector ServiceDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' FileDescriptorProto [FieldDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'extension' @:: Lens' FileDescriptorProto (Data.Vector.Vector FieldDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FileDescriptorProto FileOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FileDescriptorProto (Prelude.Maybe FileOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceCodeInfo' @:: Lens' FileDescriptorProto SourceCodeInfo@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceCodeInfo' @:: Lens' FileDescriptorProto (Prelude.Maybe SourceCodeInfo)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.syntax' @:: Lens' FileDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'syntax' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
+ -}
+data FileDescriptorProto = FileDescriptorProto{_FileDescriptorProto'name
+                                               :: !(Prelude.Maybe Data.Text.Text),
+                                               _FileDescriptorProto'package ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _FileDescriptorProto'dependency ::
+                                               !(Data.Vector.Vector Data.Text.Text),
+                                               _FileDescriptorProto'publicDependency ::
+                                               !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                                               _FileDescriptorProto'weakDependency ::
+                                               !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                                               _FileDescriptorProto'messageType ::
+                                               !(Data.Vector.Vector DescriptorProto),
+                                               _FileDescriptorProto'enumType ::
+                                               !(Data.Vector.Vector EnumDescriptorProto),
+                                               _FileDescriptorProto'service ::
+                                               !(Data.Vector.Vector ServiceDescriptorProto),
+                                               _FileDescriptorProto'extension ::
+                                               !(Data.Vector.Vector FieldDescriptorProto),
+                                               _FileDescriptorProto'options ::
+                                               !(Prelude.Maybe FileOptions),
+                                               _FileDescriptorProto'sourceCodeInfo ::
+                                               !(Prelude.Maybe SourceCodeInfo),
+                                               _FileDescriptorProto'syntax ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _FileDescriptorProto'_unknownFields ::
+                                               !Data.ProtoLens.FieldSet}
+                             deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FileDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FileDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
+               (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
+               (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "package"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
+               (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "maybe'package"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
+               (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "dependency"
+           ([Data.Text.Text])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'dependency
+               (\ x__ y__ -> x__{_FileDescriptorProto'dependency = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "vec'dependency"
+           (Data.Vector.Vector Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'dependency
+               (\ x__ y__ -> x__{_FileDescriptorProto'dependency = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "publicDependency"
+           ([Data.Int.Int32])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _FileDescriptorProto'publicDependency
+               (\ x__ y__ -> x__{_FileDescriptorProto'publicDependency = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "vec'publicDependency"
+           (Data.Vector.Unboxed.Vector Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _FileDescriptorProto'publicDependency
+               (\ x__ y__ -> x__{_FileDescriptorProto'publicDependency = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "weakDependency"
+           ([Data.Int.Int32])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'weakDependency
+               (\ x__ y__ -> x__{_FileDescriptorProto'weakDependency = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "vec'weakDependency"
+           (Data.Vector.Unboxed.Vector Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'weakDependency
+               (\ x__ y__ -> x__{_FileDescriptorProto'weakDependency = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "messageType"
+           ([DescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'messageType
+               (\ x__ y__ -> x__{_FileDescriptorProto'messageType = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "vec'messageType"
+           (Data.Vector.Vector DescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'messageType
+               (\ x__ y__ -> x__{_FileDescriptorProto'messageType = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "enumType"
+           ([EnumDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'enumType
+               (\ x__ y__ -> x__{_FileDescriptorProto'enumType = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "vec'enumType"
+           (Data.Vector.Vector EnumDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'enumType
+               (\ x__ y__ -> x__{_FileDescriptorProto'enumType = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "service"
+           ([ServiceDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'service
+               (\ x__ y__ -> x__{_FileDescriptorProto'service = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "vec'service"
+           (Data.Vector.Vector ServiceDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'service
+               (\ x__ y__ -> x__{_FileDescriptorProto'service = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "extension"
+           ([FieldDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'extension
+               (\ x__ y__ -> x__{_FileDescriptorProto'extension = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "vec'extension"
+           (Data.Vector.Vector FieldDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'extension
+               (\ x__ y__ -> x__{_FileDescriptorProto'extension = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "options"
+           (FileOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
+               (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe FileOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
+               (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "sourceCodeInfo"
+           (SourceCodeInfo)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
+               (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "maybe'sourceCodeInfo"
+           (Prelude.Maybe SourceCodeInfo)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
+               (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileDescriptorProto "syntax"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
+               (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileDescriptorProto
+           "maybe'syntax"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
+               (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message FileDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.FileDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                package__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'package"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                dependency__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "dependency"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"dependency"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                publicDependency__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "public_dependency"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"publicDependency"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                weakDependency__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "weak_dependency"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"weakDependency"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                messageType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "message_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"messageType"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                enumType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "enum_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"enumType"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                service__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "service"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor ServiceDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"service"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                extension__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extension"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"extension"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FileOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                sourceCodeInfo__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "source_code_info"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'sourceCodeInfo"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                syntax__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "syntax"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'syntax"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, package__field_descriptor),
+                 (Data.ProtoLens.Tag 3, dependency__field_descriptor),
+                 (Data.ProtoLens.Tag 10, publicDependency__field_descriptor),
+                 (Data.ProtoLens.Tag 11, weakDependency__field_descriptor),
+                 (Data.ProtoLens.Tag 4, messageType__field_descriptor),
+                 (Data.ProtoLens.Tag 5, enumType__field_descriptor),
+                 (Data.ProtoLens.Tag 6, service__field_descriptor),
+                 (Data.ProtoLens.Tag 7, extension__field_descriptor),
+                 (Data.ProtoLens.Tag 8, options__field_descriptor),
+                 (Data.ProtoLens.Tag 9, sourceCodeInfo__field_descriptor),
+                 (Data.ProtoLens.Tag 12, syntax__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FileDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_FileDescriptorProto'_unknownFields = y__})
+        defMessage
+          = FileDescriptorProto{_FileDescriptorProto'name = Prelude.Nothing,
+                                _FileDescriptorProto'package = Prelude.Nothing,
+                                _FileDescriptorProto'dependency = Data.Vector.Generic.empty,
+                                _FileDescriptorProto'publicDependency = Data.Vector.Generic.empty,
+                                _FileDescriptorProto'weakDependency = Data.Vector.Generic.empty,
+                                _FileDescriptorProto'messageType = Data.Vector.Generic.empty,
+                                _FileDescriptorProto'enumType = Data.Vector.Generic.empty,
+                                _FileDescriptorProto'service = Data.Vector.Generic.empty,
+                                _FileDescriptorProto'extension = Data.Vector.Generic.empty,
+                                _FileDescriptorProto'options = Prelude.Nothing,
+                                _FileDescriptorProto'sourceCodeInfo = Prelude.Nothing,
+                                _FileDescriptorProto'syntax = Prelude.Nothing,
+                                _FileDescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     FileDescriptorProto ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         Data.Text.Text
+                         ->
+                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                           Data.ProtoLens.Encoding.Growing.RealWorld
+                           EnumDescriptorProto
+                           ->
+                           Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                             Data.ProtoLens.Encoding.Growing.RealWorld
+                             FieldDescriptorProto
+                             ->
+                             Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                               Data.ProtoLens.Encoding.Growing.RealWorld
+                               DescriptorProto
+                               ->
+                               Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector
+                                 Data.ProtoLens.Encoding.Growing.RealWorld
+                                 Data.Int.Int32
+                                 ->
+                                 Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                                   Data.ProtoLens.Encoding.Growing.RealWorld
+                                   ServiceDescriptorProto
+                                   ->
+                                   Data.ProtoLens.Encoding.Growing.Growing
+                                     Data.Vector.Unboxed.Vector
+                                     Data.ProtoLens.Encoding.Growing.RealWorld
+                                     Data.Int.Int32
+                                     -> Data.ProtoLens.Encoding.Bytes.Parser FileDescriptorProto
+                loop x mutable'dependency mutable'enumType mutable'extension
+                  mutable'messageType mutable'publicDependency mutable'service
+                  mutable'weakDependency
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'dependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'dependency)
+                            frozen'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                    mutable'enumType)
+                            frozen'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                     mutable'extension)
+                            frozen'messageType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                    (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                       mutable'messageType)
+                            frozen'publicDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                            mutable'publicDependency)
+                            frozen'service <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                   mutable'service)
+                            frozen'weakDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                          mutable'weakDependency)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'dependency")
+                                    frozen'dependency
+                                    (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'enumType")
+                                       frozen'enumType
+                                       (Lens.Family2.set
+                                          (Data.ProtoLens.Field.field @"vec'extension")
+                                          frozen'extension
+                                          (Lens.Family2.set
+                                             (Data.ProtoLens.Field.field @"vec'messageType")
+                                             frozen'messageType
+                                             (Lens.Family2.set
+                                                (Data.ProtoLens.Field.field @"vec'publicDependency")
+                                                frozen'publicDependency
+                                                (Lens.Family2.set
+                                                   (Data.ProtoLens.Field.field @"vec'service")
+                                                   frozen'service
+                                                   (Lens.Family2.set
+                                                      (Data.ProtoLens.Field.field
+                                                         @"vec'weakDependency")
+                                                      frozen'weakDependency
+                                                      x))))))))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                           mutable'dependency
+                                           mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "package"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"package")
+                                              y
+                                              x)
+                                           mutable'dependency
+                                           mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                26 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "dependency"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'dependency
+                                                   y)
+                                         loop x v mutable'enumType mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                80 -> do !y <- (Prelude.fmap Prelude.fromIntegral
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "public_dependency"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'publicDependency
+                                                   y)
+                                         loop x mutable'dependency mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           v
+                                           mutable'service
+                                           mutable'weakDependency
+                                82 -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                 Data.ProtoLens.Encoding.Bytes.isolate
+                                                   (Prelude.fromIntegral len)
+                                                   ((let ploop qs
+                                                           = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                                if packedEnd then Prelude.return qs
+                                                                  else
+                                                                  do !q <- (Prelude.fmap
+                                                                              Prelude.fromIntegral
+                                                                              Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                             Data.ProtoLens.Encoding.Bytes.<?>
+                                                                             "public_dependency"
+                                                                     qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                              (Data.ProtoLens.Encoding.Growing.append
+                                                                                 qs
+                                                                                 q)
+                                                                     ploop qs'
+                                                       in ploop)
+                                                      mutable'publicDependency)
+                                         loop x mutable'dependency mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           y
+                                           mutable'service
+                                           mutable'weakDependency
+                                88 -> do !y <- (Prelude.fmap Prelude.fromIntegral
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "weak_dependency"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'weakDependency
+                                                   y)
+                                         loop x mutable'dependency mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           v
+                                90 -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                 Data.ProtoLens.Encoding.Bytes.isolate
+                                                   (Prelude.fromIntegral len)
+                                                   ((let ploop qs
+                                                           = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                                if packedEnd then Prelude.return qs
+                                                                  else
+                                                                  do !q <- (Prelude.fmap
+                                                                              Prelude.fromIntegral
+                                                                              Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                             Data.ProtoLens.Encoding.Bytes.<?>
+                                                                             "weak_dependency"
+                                                                     qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                              (Data.ProtoLens.Encoding.Growing.append
+                                                                                 qs
+                                                                                 q)
+                                                                     ploop qs'
+                                                       in ploop)
+                                                      mutable'weakDependency)
+                                         loop x mutable'dependency mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           y
+                                34 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "message_type"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'messageType
+                                                   y)
+                                         loop x mutable'dependency mutable'enumType
+                                           mutable'extension
+                                           v
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                42 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "enum_type"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'enumType
+                                                   y)
+                                         loop x mutable'dependency v mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                50 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "service"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'service
+                                                   y)
+                                         loop x mutable'dependency mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           v
+                                           mutable'weakDependency
+                                58 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "extension"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'extension
+                                                   y)
+                                         loop x mutable'dependency mutable'enumType v
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                66 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                           mutable'dependency
+                                           mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                74 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "source_code_info"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"sourceCodeInfo")
+                                              y
+                                              x)
+                                           mutable'dependency
+                                           mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                98 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "syntax"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"syntax")
+                                              y
+                                              x)
+                                           mutable'dependency
+                                           mutable'enumType
+                                           mutable'extension
+                                           mutable'messageType
+                                           mutable'publicDependency
+                                           mutable'service
+                                           mutable'weakDependency
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'dependency
+                                             mutable'enumType
+                                             mutable'extension
+                                             mutable'messageType
+                                             mutable'publicDependency
+                                             mutable'service
+                                             mutable'weakDependency
+              in
+              (do mutable'dependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                          Data.ProtoLens.Encoding.Growing.new
+                  mutable'enumType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        Data.ProtoLens.Encoding.Growing.new
+                  mutable'extension <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+                  mutable'messageType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           Data.ProtoLens.Encoding.Growing.new
+                  mutable'publicDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                Data.ProtoLens.Encoding.Growing.new
+                  mutable'service <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       Data.ProtoLens.Encoding.Growing.new
+                  mutable'weakDependency <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'dependency mutable'enumType
+                    mutable'extension
+                    mutable'messageType
+                    mutable'publicDependency
+                    mutable'service
+                    mutable'weakDependency)
+                Data.ProtoLens.Encoding.Bytes.<?> "FileDescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'package") _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                                             _v)
+                   Data.Monoid.<>
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v ->
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 26) Data.Monoid.<>
+                           (((\ bs ->
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                             _v)
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'dependency")
+                         _x))
+                     Data.Monoid.<>
+                     (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                        (\ _v ->
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 80) Data.Monoid.<>
+                             ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                Prelude.fromIntegral)
+                               _v)
+                        (Lens.Family2.view
+                           (Data.ProtoLens.Field.field @"vec'publicDependency")
+                           _x))
+                       Data.Monoid.<>
+                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                          (\ _v ->
+                             (Data.ProtoLens.Encoding.Bytes.putVarInt 88) Data.Monoid.<>
+                               ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                  Prelude.fromIntegral)
+                                 _v)
+                          (Lens.Family2.view
+                             (Data.ProtoLens.Field.field @"vec'weakDependency")
+                             _x))
+                         Data.Monoid.<>
+                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                            (\ _v ->
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34) Data.Monoid.<>
+                                 (((\ bs ->
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                        Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Prelude.. Data.ProtoLens.encodeMessage)
+                                   _v)
+                            (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'messageType")
+                               _x))
+                           Data.Monoid.<>
+                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                              (\ _v ->
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 42) Data.Monoid.<>
+                                   (((\ bs ->
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                          Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Prelude.. Data.ProtoLens.encodeMessage)
+                                     _v)
+                              (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'enumType")
+                                 _x))
+                             Data.Monoid.<>
+                             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                (\ _v ->
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 50) Data.Monoid.<>
+                                     (((\ bs ->
+                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                             (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            Data.Monoid.<>
+                                            Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                        Prelude.. Data.ProtoLens.encodeMessage)
+                                       _v)
+                                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'service") _x))
+                               Data.Monoid.<>
+                               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                  (\ _v ->
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 58) Data.Monoid.<>
+                                       (((\ bs ->
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              Data.Monoid.<>
+                                              Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                          Prelude.. Data.ProtoLens.encodeMessage)
+                                         _v)
+                                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'extension")
+                                     _x))
+                                 Data.Monoid.<>
+                                 (case
+                                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options")
+                                      _x
+                                    of
+                                      (Prelude.Nothing) -> Data.Monoid.mempty
+                                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                            66)
+                                                           Data.Monoid.<>
+                                                           (((\ bs ->
+                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                   (Prelude.fromIntegral
+                                                                      (Data.ByteString.length bs)))
+                                                                  Data.Monoid.<>
+                                                                  Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                    bs))
+                                                              Prelude..
+                                                              Data.ProtoLens.encodeMessage)
+                                                             _v)
+                                   Data.Monoid.<>
+                                   (case
+                                      Lens.Family2.view
+                                        (Data.ProtoLens.Field.field @"maybe'sourceCodeInfo")
+                                        _x
+                                      of
+                                        (Prelude.Nothing) -> Data.Monoid.mempty
+                                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                              74)
+                                                             Data.Monoid.<>
+                                                             (((\ bs ->
+                                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                     (Prelude.fromIntegral
+                                                                        (Data.ByteString.length
+                                                                           bs)))
+                                                                    Data.Monoid.<>
+                                                                    Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                      bs))
+                                                                Prelude..
+                                                                Data.ProtoLens.encodeMessage)
+                                                               _v)
+                                     Data.Monoid.<>
+                                     (case
+                                        Lens.Family2.view
+                                          (Data.ProtoLens.Field.field @"maybe'syntax")
+                                          _x
+                                        of
+                                          (Prelude.Nothing) -> Data.Monoid.mempty
+                                          Prelude.Just
+                                            _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
+                                                    Data.Monoid.<>
+                                                    (((\ bs ->
+                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                            (Prelude.fromIntegral
+                                                               (Data.ByteString.length bs)))
+                                                           Data.Monoid.<>
+                                                           Data.ProtoLens.Encoding.Bytes.putBytes
+                                                             bs))
+                                                       Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                      _v)
+                                       Data.Monoid.<>
+                                       Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                         (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData FileDescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_FileDescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_FileDescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_FileDescriptorProto'package x__)
+                       (Control.DeepSeq.deepseq (_FileDescriptorProto'dependency x__)
+                          (Control.DeepSeq.deepseq
+                             (_FileDescriptorProto'publicDependency x__)
+                             (Control.DeepSeq.deepseq (_FileDescriptorProto'weakDependency x__)
+                                (Control.DeepSeq.deepseq (_FileDescriptorProto'messageType x__)
+                                   (Control.DeepSeq.deepseq (_FileDescriptorProto'enumType x__)
+                                      (Control.DeepSeq.deepseq (_FileDescriptorProto'service x__)
+                                         (Control.DeepSeq.deepseq
+                                            (_FileDescriptorProto'extension x__)
+                                            (Control.DeepSeq.deepseq
+                                               (_FileDescriptorProto'options x__)
+                                               (Control.DeepSeq.deepseq
+                                                  (_FileDescriptorProto'sourceCodeInfo x__)
+                                                  (Control.DeepSeq.deepseq
+                                                     (_FileDescriptorProto'syntax x__)
+                                                     (()))))))))))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.file' @:: Lens' FileDescriptorSet [FileDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'file' @:: Lens' FileDescriptorSet (Data.Vector.Vector FileDescriptorProto)@
+ -}
+data FileDescriptorSet = FileDescriptorSet{_FileDescriptorSet'file
+                                           :: !(Data.Vector.Vector FileDescriptorProto),
+                                           _FileDescriptorSet'_unknownFields ::
+                                           !Data.ProtoLens.FieldSet}
+                           deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FileDescriptorSet where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FileDescriptorSet "file"
+           ([FileDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorSet'file
+               (\ x__ y__ -> x__{_FileDescriptorSet'file = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileDescriptorSet "vec'file"
+           (Data.Vector.Vector FileDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileDescriptorSet'file
+               (\ x__ y__ -> x__{_FileDescriptorSet'file = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message FileDescriptorSet where
+        messageName _ = Data.Text.pack "google.protobuf.FileDescriptorSet"
+        fieldsByTag
+          = let file__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "file"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FileDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"file"))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorSet
+              in
+              Data.Map.fromList [(Data.ProtoLens.Tag 1, file__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FileDescriptorSet'_unknownFields
+              (\ x__ y__ -> x__{_FileDescriptorSet'_unknownFields = y__})
+        defMessage
+          = FileDescriptorSet{_FileDescriptorSet'file =
+                                Data.Vector.Generic.empty,
+                              _FileDescriptorSet'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     FileDescriptorSet ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         FileDescriptorProto
+                         -> Data.ProtoLens.Encoding.Bytes.Parser FileDescriptorSet
+                loop x mutable'file
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'file)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'file")
+                                    frozen'file
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "file"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append mutable'file
+                                                   y)
+                                         loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'file
+              in
+              (do mutable'file <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'file)
+                Data.ProtoLens.Encoding.Bytes.<?> "FileDescriptorSet"
+        buildMessage
+          = (\ _x ->
+               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                  (\ _v ->
+                     (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
+                       (((\ bs ->
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Prelude.. Data.ProtoLens.encodeMessage)
+                         _v)
+                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'file") _x))
+                 Data.Monoid.<>
+                 Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData FileDescriptorSet where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_FileDescriptorSet'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_FileDescriptorSet'file x__) (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaPackage' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaOuterClassname' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaOuterClassname' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaMultipleFiles' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaMultipleFiles' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenerateEqualsAndHash' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenerateEqualsAndHash' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaStringCheckUtf8' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaStringCheckUtf8' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.optimizeFor' @:: Lens' FileOptions FileOptions'OptimizeMode@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'optimizeFor' @:: Lens' FileOptions (Prelude.Maybe FileOptions'OptimizeMode)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.goPackage' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'goPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.ccGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.pyGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'pyGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.ccEnableArenas' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccEnableArenas' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.objcClassPrefix' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'objcClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.csharpNamespace' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'csharpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.swiftPrefix' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'swiftPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpClassPrefix' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpNamespace' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpMetadataNamespace' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpMetadataNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.rubyPackage' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'rubyPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FileOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' FileOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data FileOptions = FileOptions{_FileOptions'javaPackage ::
+                               !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'javaOuterClassname :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'javaMultipleFiles :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'javaGenerateEqualsAndHash ::
+                               !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'javaStringCheckUtf8 :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'optimizeFor ::
+                               !(Prelude.Maybe FileOptions'OptimizeMode),
+                               _FileOptions'goPackage :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'ccGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'javaGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'pyGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'phpGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'ccEnableArenas :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'objcClassPrefix :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'csharpNamespace :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'swiftPrefix :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'phpClassPrefix :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'phpNamespace :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'phpMetadataNamespace ::
+                               !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'rubyPackage :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'uninterpretedOption ::
+                               !(Data.Vector.Vector UninterpretedOption),
+                               _FileOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                     deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FileOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FileOptions "javaPackage"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
+               (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'javaPackage"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
+               (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "javaOuterClassname"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
+               (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'javaOuterClassname"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
+               (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "javaMultipleFiles"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
+               (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'javaMultipleFiles"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
+               (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "javaGenerateEqualsAndHash"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _FileOptions'javaGenerateEqualsAndHash
+               (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'javaGenerateEqualsAndHash"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _FileOptions'javaGenerateEqualsAndHash
+               (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "javaStringCheckUtf8"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
+               (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'javaStringCheckUtf8"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
+               (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "optimizeFor"
+           (FileOptions'OptimizeMode)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
+               (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
+              Prelude.. Data.ProtoLens.maybeLens FileOptions'SPEED
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'optimizeFor"
+           (Prelude.Maybe FileOptions'OptimizeMode)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
+               (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "goPackage"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'goPackage
+               (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'goPackage"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'goPackage
+               (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "ccGenericServices"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
+               (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'ccGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
+               (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "javaGenericServices"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
+               (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'javaGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
+               (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "pyGenericServices"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
+               (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'pyGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
+               (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "phpGenericServices"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpGenericServices
+               (\ x__ y__ -> x__{_FileOptions'phpGenericServices = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'phpGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpGenericServices
+               (\ x__ y__ -> x__{_FileOptions'phpGenericServices = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "deprecated"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'deprecated
+               (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'deprecated
+               (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "ccEnableArenas"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
+               (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'ccEnableArenas"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
+               (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "objcClassPrefix"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
+               (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'objcClassPrefix"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
+               (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "csharpNamespace"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
+               (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'csharpNamespace"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
+               (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "swiftPrefix"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'swiftPrefix
+               (\ x__ y__ -> x__{_FileOptions'swiftPrefix = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'swiftPrefix"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'swiftPrefix
+               (\ x__ y__ -> x__{_FileOptions'swiftPrefix = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "phpClassPrefix"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpClassPrefix
+               (\ x__ y__ -> x__{_FileOptions'phpClassPrefix = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'phpClassPrefix"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpClassPrefix
+               (\ x__ y__ -> x__{_FileOptions'phpClassPrefix = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "phpNamespace"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpNamespace
+               (\ x__ y__ -> x__{_FileOptions'phpNamespace = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'phpNamespace"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpNamespace
+               (\ x__ y__ -> x__{_FileOptions'phpNamespace = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "phpMetadataNamespace"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpMetadataNamespace
+               (\ x__ y__ -> x__{_FileOptions'phpMetadataNamespace = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'phpMetadataNamespace"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'phpMetadataNamespace
+               (\ x__ y__ -> x__{_FileOptions'phpMetadataNamespace = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions "rubyPackage"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'rubyPackage
+               (\ x__ y__ -> x__{_FileOptions'rubyPackage = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField FileOptions
+           "maybe'rubyPackage"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'rubyPackage
+               (\ x__ y__ -> x__{_FileOptions'rubyPackage = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField FileOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_FileOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField FileOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _FileOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_FileOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message FileOptions where
+        messageName _ = Data.Text.pack "google.protobuf.FileOptions"
+        fieldsByTag
+          = let javaPackage__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'javaPackage"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaOuterClassname__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_outer_classname"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'javaOuterClassname"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaMultipleFiles__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_multiple_files"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'javaMultipleFiles"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaGenerateEqualsAndHash__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_generate_equals_and_hash"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'javaGenerateEqualsAndHash"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaStringCheckUtf8__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_string_check_utf8"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'javaStringCheckUtf8"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                optimizeFor__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "optimize_for"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FileOptions'OptimizeMode)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'optimizeFor"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                goPackage__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "go_package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'goPackage"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                ccGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "cc_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'ccGenericServices"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'javaGenericServices"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                pyGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "py_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'pyGenericServices"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'phpGenericServices"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'deprecated"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                ccEnableArenas__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "cc_enable_arenas"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'ccEnableArenas"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                objcClassPrefix__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "objc_class_prefix"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'objcClassPrefix"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                csharpNamespace__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "csharp_namespace"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'csharpNamespace"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                swiftPrefix__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "swift_prefix"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'swiftPrefix"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpClassPrefix__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_class_prefix"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'phpClassPrefix"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpNamespace__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_namespace"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'phpNamespace"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpMetadataNamespace__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_metadata_namespace"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'phpMetadataNamespace"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                rubyPackage__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "ruby_package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'rubyPackage"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, javaPackage__field_descriptor),
+                 (Data.ProtoLens.Tag 8, javaOuterClassname__field_descriptor),
+                 (Data.ProtoLens.Tag 10, javaMultipleFiles__field_descriptor),
+                 (Data.ProtoLens.Tag 20,
+                  javaGenerateEqualsAndHash__field_descriptor),
+                 (Data.ProtoLens.Tag 27, javaStringCheckUtf8__field_descriptor),
+                 (Data.ProtoLens.Tag 9, optimizeFor__field_descriptor),
+                 (Data.ProtoLens.Tag 11, goPackage__field_descriptor),
+                 (Data.ProtoLens.Tag 16, ccGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 17, javaGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 18, pyGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 42, phpGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 23, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 31, ccEnableArenas__field_descriptor),
+                 (Data.ProtoLens.Tag 36, objcClassPrefix__field_descriptor),
+                 (Data.ProtoLens.Tag 37, csharpNamespace__field_descriptor),
+                 (Data.ProtoLens.Tag 39, swiftPrefix__field_descriptor),
+                 (Data.ProtoLens.Tag 40, phpClassPrefix__field_descriptor),
+                 (Data.ProtoLens.Tag 41, phpNamespace__field_descriptor),
+                 (Data.ProtoLens.Tag 44, phpMetadataNamespace__field_descriptor),
+                 (Data.ProtoLens.Tag 45, rubyPackage__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FileOptions'_unknownFields
+              (\ x__ y__ -> x__{_FileOptions'_unknownFields = y__})
+        defMessage
+          = FileOptions{_FileOptions'javaPackage = Prelude.Nothing,
+                        _FileOptions'javaOuterClassname = Prelude.Nothing,
+                        _FileOptions'javaMultipleFiles = Prelude.Nothing,
+                        _FileOptions'javaGenerateEqualsAndHash = Prelude.Nothing,
+                        _FileOptions'javaStringCheckUtf8 = Prelude.Nothing,
+                        _FileOptions'optimizeFor = Prelude.Nothing,
+                        _FileOptions'goPackage = Prelude.Nothing,
+                        _FileOptions'ccGenericServices = Prelude.Nothing,
+                        _FileOptions'javaGenericServices = Prelude.Nothing,
+                        _FileOptions'pyGenericServices = Prelude.Nothing,
+                        _FileOptions'phpGenericServices = Prelude.Nothing,
+                        _FileOptions'deprecated = Prelude.Nothing,
+                        _FileOptions'ccEnableArenas = Prelude.Nothing,
+                        _FileOptions'objcClassPrefix = Prelude.Nothing,
+                        _FileOptions'csharpNamespace = Prelude.Nothing,
+                        _FileOptions'swiftPrefix = Prelude.Nothing,
+                        _FileOptions'phpClassPrefix = Prelude.Nothing,
+                        _FileOptions'phpNamespace = Prelude.Nothing,
+                        _FileOptions'phpMetadataNamespace = Prelude.Nothing,
+                        _FileOptions'rubyPackage = Prelude.Nothing,
+                        _FileOptions'uninterpretedOption = Data.Vector.Generic.empty,
+                        _FileOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     FileOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser FileOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "java_package"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"javaPackage")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                66 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?>
+                                                "java_outer_classname"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"javaOuterClassname")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                80 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?>
+                                                "java_multiple_files"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"javaMultipleFiles")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                160 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "java_generate_equals_and_hash"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field
+                                                  @"javaGenerateEqualsAndHash")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                216 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "java_string_check_utf8"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"javaStringCheckUtf8")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                72 -> do y <- (Prelude.fmap Prelude.toEnum
+                                                 (Prelude.fmap Prelude.fromIntegral
+                                                    Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "optimize_for"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"optimizeFor")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                90 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "go_package"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"goPackage")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                128 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "cc_generic_services"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"ccGenericServices")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                136 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "java_generic_services"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"javaGenericServices")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                144 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "py_generic_services"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"pyGenericServices")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                336 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "php_generic_services"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"phpGenericServices")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                184 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "deprecated"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"deprecated")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                248 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "cc_enable_arenas"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"ccEnableArenas")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                290 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "objc_class_prefix"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"objcClassPrefix")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                298 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "csharp_namespace"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"csharpNamespace")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                314 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "swift_prefix"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"swiftPrefix")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                322 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "php_class_prefix"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"phpClassPrefix")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                330 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "php_namespace"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"phpNamespace")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                354 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "php_metadata_namespace"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"phpMetadataNamespace")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                362 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "ruby_package"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"rubyPackage")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "FileOptions"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'javaPackage")
+                    _x
+                  of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"maybe'javaOuterClassname")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view
+                        (Data.ProtoLens.Field.field @"maybe'javaMultipleFiles")
+                        _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 80)
+                                             Data.Monoid.<>
+                                             ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                (\ b -> if b then 1 else 0))
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view
+                          (Data.ProtoLens.Field.field @"maybe'javaGenerateEqualsAndHash")
+                          _x
+                        of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 160)
+                                               Data.Monoid.<>
+                                               ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                  (\ b -> if b then 1 else 0))
+                                                 _v)
+                       Data.Monoid.<>
+                       (case
+                          Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"maybe'javaStringCheckUtf8")
+                            _x
+                          of
+                            (Prelude.Nothing) -> Data.Monoid.mempty
+                            Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 216)
+                                                 Data.Monoid.<>
+                                                 ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                    Prelude.. (\ b -> if b then 1 else 0))
+                                                   _v)
+                         Data.Monoid.<>
+                         (case
+                            Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'optimizeFor")
+                              _x
+                            of
+                              (Prelude.Nothing) -> Data.Monoid.mempty
+                              Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
+                                                   Data.Monoid.<>
+                                                   (((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                       Prelude.. Prelude.fromIntegral)
+                                                      Prelude.. Prelude.fromEnum)
+                                                     _v)
+                           Data.Monoid.<>
+                           (case
+                              Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'goPackage")
+                                _x
+                              of
+                                (Prelude.Nothing) -> Data.Monoid.mempty
+                                Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
+                                                     Data.Monoid.<>
+                                                     (((\ bs ->
+                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             (Prelude.fromIntegral
+                                                                (Data.ByteString.length bs)))
+                                                            Data.Monoid.<>
+                                                            Data.ProtoLens.Encoding.Bytes.putBytes
+                                                              bs))
+                                                        Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                       _v)
+                             Data.Monoid.<>
+                             (case
+                                Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"maybe'ccGenericServices")
+                                  _x
+                                of
+                                  (Prelude.Nothing) -> Data.Monoid.mempty
+                                  Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 128)
+                                                       Data.Monoid.<>
+                                                       ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                          Prelude.. (\ b -> if b then 1 else 0))
+                                                         _v)
+                               Data.Monoid.<>
+                               (case
+                                  Lens.Family2.view
+                                    (Data.ProtoLens.Field.field @"maybe'javaGenericServices")
+                                    _x
+                                  of
+                                    (Prelude.Nothing) -> Data.Monoid.mempty
+                                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 136)
+                                                         Data.Monoid.<>
+                                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                            Prelude.. (\ b -> if b then 1 else 0))
+                                                           _v)
+                                 Data.Monoid.<>
+                                 (case
+                                    Lens.Family2.view
+                                      (Data.ProtoLens.Field.field @"maybe'pyGenericServices")
+                                      _x
+                                    of
+                                      (Prelude.Nothing) -> Data.Monoid.mempty
+                                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                            144)
+                                                           Data.Monoid.<>
+                                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                              Prelude.. (\ b -> if b then 1 else 0))
+                                                             _v)
+                                   Data.Monoid.<>
+                                   (case
+                                      Lens.Family2.view
+                                        (Data.ProtoLens.Field.field @"maybe'phpGenericServices")
+                                        _x
+                                      of
+                                        (Prelude.Nothing) -> Data.Monoid.mempty
+                                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                              336)
+                                                             Data.Monoid.<>
+                                                             ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                                Prelude..
+                                                                (\ b -> if b then 1 else 0))
+                                                               _v)
+                                     Data.Monoid.<>
+                                     (case
+                                        Lens.Family2.view
+                                          (Data.ProtoLens.Field.field @"maybe'deprecated")
+                                          _x
+                                        of
+                                          (Prelude.Nothing) -> Data.Monoid.mempty
+                                          Prelude.Just
+                                            _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 184)
+                                                    Data.Monoid.<>
+                                                    ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                       Prelude.. (\ b -> if b then 1 else 0))
+                                                      _v)
+                                       Data.Monoid.<>
+                                       (case
+                                          Lens.Family2.view
+                                            (Data.ProtoLens.Field.field @"maybe'ccEnableArenas")
+                                            _x
+                                          of
+                                            (Prelude.Nothing) -> Data.Monoid.mempty
+                                            Prelude.Just
+                                              _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 248)
+                                                      Data.Monoid.<>
+                                                      ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                         Prelude.. (\ b -> if b then 1 else 0))
+                                                        _v)
+                                         Data.Monoid.<>
+                                         (case
+                                            Lens.Family2.view
+                                              (Data.ProtoLens.Field.field @"maybe'objcClassPrefix")
+                                              _x
+                                            of
+                                              (Prelude.Nothing) -> Data.Monoid.mempty
+                                              Prelude.Just
+                                                _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 290)
+                                                        Data.Monoid.<>
+                                                        (((\ bs ->
+                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                (Prelude.fromIntegral
+                                                                   (Data.ByteString.length bs)))
+                                                               Data.Monoid.<>
+                                                               Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                 bs))
+                                                           Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                          _v)
+                                           Data.Monoid.<>
+                                           (case
+                                              Lens.Family2.view
+                                                (Data.ProtoLens.Field.field
+                                                   @"maybe'csharpNamespace")
+                                                _x
+                                              of
+                                                (Prelude.Nothing) -> Data.Monoid.mempty
+                                                Prelude.Just
+                                                  _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                           298)
+                                                          Data.Monoid.<>
+                                                          (((\ bs ->
+                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                  (Prelude.fromIntegral
+                                                                     (Data.ByteString.length bs)))
+                                                                 Data.Monoid.<>
+                                                                 Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                   bs))
+                                                             Prelude..
+                                                             Data.Text.Encoding.encodeUtf8)
+                                                            _v)
+                                             Data.Monoid.<>
+                                             (case
+                                                Lens.Family2.view
+                                                  (Data.ProtoLens.Field.field @"maybe'swiftPrefix")
+                                                  _x
+                                                of
+                                                  (Prelude.Nothing) -> Data.Monoid.mempty
+                                                  Prelude.Just
+                                                    _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             314)
+                                                            Data.Monoid.<>
+                                                            (((\ bs ->
+                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                    (Prelude.fromIntegral
+                                                                       (Data.ByteString.length bs)))
+                                                                   Data.Monoid.<>
+                                                                   Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                     bs))
+                                                               Prelude..
+                                                               Data.Text.Encoding.encodeUtf8)
+                                                              _v)
+                                               Data.Monoid.<>
+                                               (case
+                                                  Lens.Family2.view
+                                                    (Data.ProtoLens.Field.field
+                                                       @"maybe'phpClassPrefix")
+                                                    _x
+                                                  of
+                                                    (Prelude.Nothing) -> Data.Monoid.mempty
+                                                    Prelude.Just
+                                                      _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                               322)
+                                                              Data.Monoid.<>
+                                                              (((\ bs ->
+                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                      (Prelude.fromIntegral
+                                                                         (Data.ByteString.length
+                                                                            bs)))
+                                                                     Data.Monoid.<>
+                                                                     Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                       bs))
+                                                                 Prelude..
+                                                                 Data.Text.Encoding.encodeUtf8)
+                                                                _v)
+                                                 Data.Monoid.<>
+                                                 (case
+                                                    Lens.Family2.view
+                                                      (Data.ProtoLens.Field.field
+                                                         @"maybe'phpNamespace")
+                                                      _x
+                                                    of
+                                                      (Prelude.Nothing) -> Data.Monoid.mempty
+                                                      Prelude.Just
+                                                        _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                 330)
+                                                                Data.Monoid.<>
+                                                                (((\ bs ->
+                                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                        (Prelude.fromIntegral
+                                                                           (Data.ByteString.length
+                                                                              bs)))
+                                                                       Data.Monoid.<>
+                                                                       Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                         bs))
+                                                                   Prelude..
+                                                                   Data.Text.Encoding.encodeUtf8)
+                                                                  _v)
+                                                   Data.Monoid.<>
+                                                   (case
+                                                      Lens.Family2.view
+                                                        (Data.ProtoLens.Field.field
+                                                           @"maybe'phpMetadataNamespace")
+                                                        _x
+                                                      of
+                                                        (Prelude.Nothing) -> Data.Monoid.mempty
+                                                        Prelude.Just
+                                                          _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                   354)
+                                                                  Data.Monoid.<>
+                                                                  (((\ bs ->
+                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                          (Prelude.fromIntegral
+                                                                             (Data.ByteString.length
+                                                                                bs)))
+                                                                         Data.Monoid.<>
+                                                                         Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                           bs))
+                                                                     Prelude..
+                                                                     Data.Text.Encoding.encodeUtf8)
+                                                                    _v)
+                                                     Data.Monoid.<>
+                                                     (case
+                                                        Lens.Family2.view
+                                                          (Data.ProtoLens.Field.field
+                                                             @"maybe'rubyPackage")
+                                                          _x
+                                                        of
+                                                          (Prelude.Nothing) -> Data.Monoid.mempty
+                                                          Prelude.Just
+                                                            _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                     362)
+                                                                    Data.Monoid.<>
+                                                                    (((\ bs ->
+                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                            (Prelude.fromIntegral
+                                                                               (Data.ByteString.length
+                                                                                  bs)))
+                                                                           Data.Monoid.<>
+                                                                           Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                             bs))
+                                                                       Prelude..
+                                                                       Data.Text.Encoding.encodeUtf8)
+                                                                      _v)
+                                                       Data.Monoid.<>
+                                                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                                          (\ _v ->
+                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                7994)
+                                                               Data.Monoid.<>
+                                                               (((\ bs ->
+                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                       (Prelude.fromIntegral
+                                                                          (Data.ByteString.length
+                                                                             bs)))
+                                                                      Data.Monoid.<>
+                                                                      Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                        bs))
+                                                                  Prelude..
+                                                                  Data.ProtoLens.encodeMessage)
+                                                                 _v)
+                                                          (Lens.Family2.view
+                                                             (Data.ProtoLens.Field.field
+                                                                @"vec'uninterpretedOption")
+                                                             _x))
+                                                         Data.Monoid.<>
+                                                         Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                                           (Lens.Family2.view
+                                                              Data.ProtoLens.unknownFields
+                                                              _x))
+instance Control.DeepSeq.NFData FileOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_FileOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_FileOptions'javaPackage x__)
+                    (Control.DeepSeq.deepseq (_FileOptions'javaOuterClassname x__)
+                       (Control.DeepSeq.deepseq (_FileOptions'javaMultipleFiles x__)
+                          (Control.DeepSeq.deepseq
+                             (_FileOptions'javaGenerateEqualsAndHash x__)
+                             (Control.DeepSeq.deepseq (_FileOptions'javaStringCheckUtf8 x__)
+                                (Control.DeepSeq.deepseq (_FileOptions'optimizeFor x__)
+                                   (Control.DeepSeq.deepseq (_FileOptions'goPackage x__)
+                                      (Control.DeepSeq.deepseq (_FileOptions'ccGenericServices x__)
+                                         (Control.DeepSeq.deepseq
+                                            (_FileOptions'javaGenericServices x__)
+                                            (Control.DeepSeq.deepseq
+                                               (_FileOptions'pyGenericServices x__)
+                                               (Control.DeepSeq.deepseq
+                                                  (_FileOptions'phpGenericServices x__)
+                                                  (Control.DeepSeq.deepseq
+                                                     (_FileOptions'deprecated x__)
+                                                     (Control.DeepSeq.deepseq
+                                                        (_FileOptions'ccEnableArenas x__)
+                                                        (Control.DeepSeq.deepseq
+                                                           (_FileOptions'objcClassPrefix x__)
+                                                           (Control.DeepSeq.deepseq
+                                                              (_FileOptions'csharpNamespace x__)
+                                                              (Control.DeepSeq.deepseq
+                                                                 (_FileOptions'swiftPrefix x__)
+                                                                 (Control.DeepSeq.deepseq
+                                                                    (_FileOptions'phpClassPrefix
+                                                                       x__)
+                                                                    (Control.DeepSeq.deepseq
+                                                                       (_FileOptions'phpNamespace
+                                                                          x__)
+                                                                       (Control.DeepSeq.deepseq
+                                                                          (_FileOptions'phpMetadataNamespace
+                                                                             x__)
+                                                                          (Control.DeepSeq.deepseq
+                                                                             (_FileOptions'rubyPackage
+                                                                                x__)
+                                                                             (Control.DeepSeq.deepseq
+                                                                                (_FileOptions'uninterpretedOption
+                                                                                   x__)
+                                                                                (())))))))))))))))))))))))
+data FileOptions'OptimizeMode = FileOptions'SPEED
+                              | FileOptions'CODE_SIZE
+                              | FileOptions'LITE_RUNTIME
+                                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum FileOptions'OptimizeMode where
+        maybeToEnum 1 = Prelude.Just FileOptions'SPEED
+        maybeToEnum 2 = Prelude.Just FileOptions'CODE_SIZE
+        maybeToEnum 3 = Prelude.Just FileOptions'LITE_RUNTIME
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FileOptions'SPEED = "SPEED"
+        showEnum FileOptions'CODE_SIZE = "CODE_SIZE"
+        showEnum FileOptions'LITE_RUNTIME = "LITE_RUNTIME"
+        readEnum k
+          | (k) Prelude.== "SPEED" = Prelude.Just FileOptions'SPEED
+          | (k) Prelude.== "CODE_SIZE" = Prelude.Just FileOptions'CODE_SIZE
+          | (k) Prelude.== "LITE_RUNTIME" =
+            Prelude.Just FileOptions'LITE_RUNTIME
+        readEnum k
+          = (Text.Read.readMaybe k) Prelude.>>= Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded FileOptions'OptimizeMode where
+        minBound = FileOptions'SPEED
+        maxBound = FileOptions'LITE_RUNTIME
+instance Prelude.Enum FileOptions'OptimizeMode where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 (("toEnum: unknown value for enum OptimizeMode: ") Prelude.++
+                    Prelude.show k__))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FileOptions'SPEED = 1
+        fromEnum FileOptions'CODE_SIZE = 2
+        fromEnum FileOptions'LITE_RUNTIME = 3
+        succ FileOptions'LITE_RUNTIME
+          = Prelude.error
+              "FileOptions'OptimizeMode.succ: bad argument FileOptions'LITE_RUNTIME. This value would be out of bounds."
+        succ FileOptions'SPEED = FileOptions'CODE_SIZE
+        succ FileOptions'CODE_SIZE = FileOptions'LITE_RUNTIME
+        pred FileOptions'SPEED
+          = Prelude.error
+              "FileOptions'OptimizeMode.pred: bad argument FileOptions'SPEED. This value would be out of bounds."
+        pred FileOptions'CODE_SIZE = FileOptions'SPEED
+        pred FileOptions'LITE_RUNTIME = FileOptions'CODE_SIZE
+        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault FileOptions'OptimizeMode where
+        fieldDefault = FileOptions'SPEED
+instance Control.DeepSeq.NFData FileOptions'OptimizeMode where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.annotation' @:: Lens' GeneratedCodeInfo [GeneratedCodeInfo'Annotation]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'annotation' @:: Lens' GeneratedCodeInfo
+  (Data.Vector.Vector GeneratedCodeInfo'Annotation)@
+ -}
+data GeneratedCodeInfo = GeneratedCodeInfo{_GeneratedCodeInfo'annotation
+                                           :: !(Data.Vector.Vector GeneratedCodeInfo'Annotation),
+                                           _GeneratedCodeInfo'_unknownFields ::
+                                           !Data.ProtoLens.FieldSet}
+                           deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show GeneratedCodeInfo where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo
+           "annotation"
+           ([GeneratedCodeInfo'Annotation])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'annotation
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'annotation = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo
+           "vec'annotation"
+           (Data.Vector.Vector GeneratedCodeInfo'Annotation)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'annotation
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'annotation = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message GeneratedCodeInfo where
+        messageName _ = Data.Text.pack "google.protobuf.GeneratedCodeInfo"
+        fieldsByTag
+          = let annotation__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "annotation"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor GeneratedCodeInfo'Annotation)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"annotation"))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, annotation__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _GeneratedCodeInfo'_unknownFields
+              (\ x__ y__ -> x__{_GeneratedCodeInfo'_unknownFields = y__})
+        defMessage
+          = GeneratedCodeInfo{_GeneratedCodeInfo'annotation =
+                                Data.Vector.Generic.empty,
+                              _GeneratedCodeInfo'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     GeneratedCodeInfo ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         GeneratedCodeInfo'Annotation
+                         -> Data.ProtoLens.Encoding.Bytes.Parser GeneratedCodeInfo
+                loop x mutable'annotation
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'annotation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'annotation)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'annotation")
+                                    frozen'annotation
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "annotation"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'annotation
+                                                   y)
+                                         loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'annotation
+              in
+              (do mutable'annotation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                          Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'annotation)
+                Data.ProtoLens.Encoding.Bytes.<?> "GeneratedCodeInfo"
+        buildMessage
+          = (\ _x ->
+               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                  (\ _v ->
+                     (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
+                       (((\ bs ->
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Prelude.. Data.ProtoLens.encodeMessage)
+                         _v)
+                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'annotation")
+                     _x))
+                 Data.Monoid.<>
+                 Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData GeneratedCodeInfo where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_GeneratedCodeInfo'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_GeneratedCodeInfo'annotation x__) (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' GeneratedCodeInfo'Annotation [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'path' @:: Lens' GeneratedCodeInfo'Annotation
+  (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceFile' @:: Lens' GeneratedCodeInfo'Annotation Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceFile' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.begin' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'begin' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
+ -}
+data GeneratedCodeInfo'Annotation = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path
+                                                                 ::
+                                                                 !(Data.Vector.Unboxed.Vector
+                                                                     Data.Int.Int32),
+                                                                 _GeneratedCodeInfo'Annotation'sourceFile
+                                                                 :: !(Prelude.Maybe Data.Text.Text),
+                                                                 _GeneratedCodeInfo'Annotation'begin
+                                                                 :: !(Prelude.Maybe Data.Int.Int32),
+                                                                 _GeneratedCodeInfo'Annotation'end
+                                                                 :: !(Prelude.Maybe Data.Int.Int32),
+                                                                 _GeneratedCodeInfo'Annotation'_unknownFields
+                                                                 :: !Data.ProtoLens.FieldSet}
+                                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show GeneratedCodeInfo'Annotation where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "path"
+           ([Data.Int.Int32])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'path
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'path = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "vec'path"
+           (Data.Vector.Unboxed.Vector Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'path
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'path = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "sourceFile"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _GeneratedCodeInfo'Annotation'sourceFile
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "maybe'sourceFile"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _GeneratedCodeInfo'Annotation'sourceFile
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "begin"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "maybe'begin"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "end"
+           (Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField GeneratedCodeInfo'Annotation
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
+               (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message GeneratedCodeInfo'Annotation where
+        messageName _
+          = Data.Text.pack "google.protobuf.GeneratedCodeInfo.Annotation"
+        fieldsByTag
+          = let path__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "path"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
+                         (Data.ProtoLens.Field.field @"path"))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+                sourceFile__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "source_file"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'sourceFile"))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+                begin__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "begin"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'begin"))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'end"))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, path__field_descriptor),
+                 (Data.ProtoLens.Tag 2, sourceFile__field_descriptor),
+                 (Data.ProtoLens.Tag 3, begin__field_descriptor),
+                 (Data.ProtoLens.Tag 4, end__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _GeneratedCodeInfo'Annotation'_unknownFields
+              (\ x__ y__ ->
+                 x__{_GeneratedCodeInfo'Annotation'_unknownFields = y__})
+        defMessage
+          = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path =
+                                           Data.Vector.Generic.empty,
+                                         _GeneratedCodeInfo'Annotation'sourceFile = Prelude.Nothing,
+                                         _GeneratedCodeInfo'Annotation'begin = Prelude.Nothing,
+                                         _GeneratedCodeInfo'Annotation'end = Prelude.Nothing,
+                                         _GeneratedCodeInfo'Annotation'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     GeneratedCodeInfo'Annotation ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         Data.Int.Int32
+                         ->
+                         Data.ProtoLens.Encoding.Bytes.Parser GeneratedCodeInfo'Annotation
+                loop x mutable'path
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'path)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'path")
+                                    frozen'path
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do !y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "path"
+                                        v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                               (Data.ProtoLens.Encoding.Growing.append mutable'path
+                                                  y)
+                                        loop x v
+                                10 -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                 Data.ProtoLens.Encoding.Bytes.isolate
+                                                   (Prelude.fromIntegral len)
+                                                   ((let ploop qs
+                                                           = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                                if packedEnd then Prelude.return qs
+                                                                  else
+                                                                  do !q <- (Prelude.fmap
+                                                                              Prelude.fromIntegral
+                                                                              Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                             Data.ProtoLens.Encoding.Bytes.<?>
+                                                                             "path"
+                                                                     qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                              (Data.ProtoLens.Encoding.Growing.append
+                                                                                 qs
+                                                                                 q)
+                                                                     ploop qs'
+                                                       in ploop)
+                                                      mutable'path)
+                                         loop x y
+                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "source_file"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"sourceFile")
+                                              y
+                                              x)
+                                           mutable'path
+                                24 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "begin"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"begin") y
+                                              x)
+                                           mutable'path
+                                32 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "end"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y
+                                              x)
+                                           mutable'path
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'path
+              in
+              (do mutable'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'path)
+                Data.ProtoLens.Encoding.Bytes.<?> "Annotation"
+        buildMessage
+          = (\ _x ->
+               (let p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'path")
+                          _x
+                  in
+                  if Data.Vector.Generic.null p then Data.Monoid.mempty else
+                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
+                      (\ bs ->
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                           Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs)
+                        (Data.ProtoLens.Encoding.Bytes.runBuilder
+                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                              ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                 Prelude.fromIntegral)
+                              p)))
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'sourceFile")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'begin") _x of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                                             Data.Monoid.<>
+                                             ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                Prelude.fromIntegral)
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                                               Data.Monoid.<>
+                                               ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                  Prelude.fromIntegral)
+                                                 _v)
+                       Data.Monoid.<>
+                       Data.ProtoLens.Encoding.Wire.buildFieldSet
+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData GeneratedCodeInfo'Annotation where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_GeneratedCodeInfo'Annotation'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'path x__)
+                    (Control.DeepSeq.deepseq
+                       (_GeneratedCodeInfo'Annotation'sourceFile x__)
+                       (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'begin x__)
+                          (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'end x__)
+                             (()))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.messageSetWireFormat' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'messageSetWireFormat' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.noStandardDescriptorAccessor' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'noStandardDescriptorAccessor' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.mapEntry' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'mapEntry' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MessageOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' MessageOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data MessageOptions = MessageOptions{_MessageOptions'messageSetWireFormat
+                                     :: !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'noStandardDescriptorAccessor ::
+                                     !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'mapEntry :: !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'uninterpretedOption ::
+                                     !(Data.Vector.Vector UninterpretedOption),
+                                     _MessageOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MessageOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "messageSetWireFormat"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
+               (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "maybe'messageSetWireFormat"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
+               (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "noStandardDescriptorAccessor"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _MessageOptions'noStandardDescriptorAccessor
+               (\ x__ y__ ->
+                  x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "maybe'noStandardDescriptorAccessor"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _MessageOptions'noStandardDescriptorAccessor
+               (\ x__ y__ ->
+                  x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MessageOptions "deprecated"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
+               (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
+               (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MessageOptions "mapEntry"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
+               (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "maybe'mapEntry"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
+               (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_MessageOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField MessageOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MessageOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_MessageOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message MessageOptions where
+        messageName _ = Data.Text.pack "google.protobuf.MessageOptions"
+        fieldsByTag
+          = let messageSetWireFormat__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "message_set_wire_format"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'messageSetWireFormat"))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                noStandardDescriptorAccessor__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "no_standard_descriptor_accessor"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'noStandardDescriptorAccessor"))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'deprecated"))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                mapEntry__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "map_entry"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'mapEntry"))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, messageSetWireFormat__field_descriptor),
+                 (Data.ProtoLens.Tag 2,
+                  noStandardDescriptorAccessor__field_descriptor),
+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 7, mapEntry__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _MessageOptions'_unknownFields
+              (\ x__ y__ -> x__{_MessageOptions'_unknownFields = y__})
+        defMessage
+          = MessageOptions{_MessageOptions'messageSetWireFormat =
+                             Prelude.Nothing,
+                           _MessageOptions'noStandardDescriptorAccessor = Prelude.Nothing,
+                           _MessageOptions'deprecated = Prelude.Nothing,
+                           _MessageOptions'mapEntry = Prelude.Nothing,
+                           _MessageOptions'uninterpretedOption = Data.Vector.Generic.empty,
+                           _MessageOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     MessageOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser MessageOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                               Data.ProtoLens.Encoding.Bytes.<?>
+                                               "message_set_wire_format"
+                                        loop
+                                          (Lens.Family2.set
+                                             (Data.ProtoLens.Field.field @"messageSetWireFormat")
+                                             y
+                                             x)
+                                          mutable'uninterpretedOption
+                                16 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?>
+                                                "no_standard_descriptor_accessor"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field
+                                                 @"noStandardDescriptorAccessor")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                24 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "deprecated"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"deprecated")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                56 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "map_entry"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"mapEntry")
+                                              y
+                                              x)
+                                           mutable'uninterpretedOption
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "MessageOptions"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view
+                    (Data.ProtoLens.Field.field @"maybe'messageSetWireFormat")
+                    _x
+                  of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            (\ b -> if b then 1 else 0))
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"maybe'noStandardDescriptorAccessor")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                                           Data.Monoid.<>
+                                           ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                              (\ b -> if b then 1 else 0))
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'deprecated")
+                        _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                                             Data.Monoid.<>
+                                             ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                (\ b -> if b then 1 else 0))
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'mapEntry") _x
+                        of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 56)
+                                               Data.Monoid.<>
+                                               ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                  (\ b -> if b then 1 else 0))
+                                                 _v)
+                       Data.Monoid.<>
+                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                          (\ _v ->
+                             (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                               (((\ bs ->
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                  Prelude.. Data.ProtoLens.encodeMessage)
+                                 _v)
+                          (Lens.Family2.view
+                             (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                             _x))
+                         Data.Monoid.<>
+                         Data.ProtoLens.Encoding.Wire.buildFieldSet
+                           (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData MessageOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_MessageOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_MessageOptions'messageSetWireFormat x__)
+                    (Control.DeepSeq.deepseq
+                       (_MessageOptions'noStandardDescriptorAccessor x__)
+                       (Control.DeepSeq.deepseq (_MessageOptions'deprecated x__)
+                          (Control.DeepSeq.deepseq (_MessageOptions'mapEntry x__)
+                             (Control.DeepSeq.deepseq (_MessageOptions'uninterpretedOption x__)
+                                (())))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' MethodDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.inputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'inputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.outputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'outputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' MethodDescriptorProto MethodOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' MethodDescriptorProto (Prelude.Maybe MethodOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.clientStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'clientStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.serverStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'serverStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
+ -}
+data MethodDescriptorProto = MethodDescriptorProto{_MethodDescriptorProto'name
+                                                   :: !(Prelude.Maybe Data.Text.Text),
+                                                   _MethodDescriptorProto'inputType ::
+                                                   !(Prelude.Maybe Data.Text.Text),
+                                                   _MethodDescriptorProto'outputType ::
+                                                   !(Prelude.Maybe Data.Text.Text),
+                                                   _MethodDescriptorProto'options ::
+                                                   !(Prelude.Maybe MethodOptions),
+                                                   _MethodDescriptorProto'clientStreaming ::
+                                                   !(Prelude.Maybe Prelude.Bool),
+                                                   _MethodDescriptorProto'serverStreaming ::
+                                                   !(Prelude.Maybe Prelude.Bool),
+                                                   _MethodDescriptorProto'_unknownFields ::
+                                                   !Data.ProtoLens.FieldSet}
+                               deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MethodDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
+               (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
+               (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "inputType"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
+               (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "maybe'inputType"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
+               (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "outputType"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
+               (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "maybe'outputType"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
+               (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "options"
+           (MethodOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
+               (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe MethodOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
+               (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "clientStreaming"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _MethodDescriptorProto'clientStreaming
+               (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "maybe'clientStreaming"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _MethodDescriptorProto'clientStreaming
+               (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "serverStreaming"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _MethodDescriptorProto'serverStreaming
+               (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField MethodDescriptorProto
+           "maybe'serverStreaming"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _MethodDescriptorProto'serverStreaming
+               (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message MethodDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.MethodDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                inputType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "input_type"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'inputType"))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                outputType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "output_type"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'outputType"))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor MethodOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                clientStreaming__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "client_streaming"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'clientStreaming"))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                serverStreaming__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "server_streaming"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'serverStreaming"))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, inputType__field_descriptor),
+                 (Data.ProtoLens.Tag 3, outputType__field_descriptor),
+                 (Data.ProtoLens.Tag 4, options__field_descriptor),
+                 (Data.ProtoLens.Tag 5, clientStreaming__field_descriptor),
+                 (Data.ProtoLens.Tag 6, serverStreaming__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _MethodDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_MethodDescriptorProto'_unknownFields = y__})
+        defMessage
+          = MethodDescriptorProto{_MethodDescriptorProto'name =
+                                    Prelude.Nothing,
+                                  _MethodDescriptorProto'inputType = Prelude.Nothing,
+                                  _MethodDescriptorProto'outputType = Prelude.Nothing,
+                                  _MethodDescriptorProto'options = Prelude.Nothing,
+                                  _MethodDescriptorProto'clientStreaming = Prelude.Nothing,
+                                  _MethodDescriptorProto'serverStreaming = Prelude.Nothing,
+                                  _MethodDescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     MethodDescriptorProto ->
+                       Data.ProtoLens.Encoding.Bytes.Parser MethodDescriptorProto
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "input_type"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"inputType")
+                                              y
+                                              x)
+                                26 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "output_type"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"outputType")
+                                              y
+                                              x)
+                                34 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                40 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "client_streaming"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"clientStreaming")
+                                              y
+                                              x)
+                                48 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "server_streaming"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"serverStreaming")
+                                              y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "MethodDescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'inputType")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'outputType")
+                        _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                             Data.Monoid.<>
+                                             (((\ bs ->
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                    Data.Monoid.<>
+                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                Prelude.. Data.Text.Encoding.encodeUtf8)
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x
+                        of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                               Data.Monoid.<>
+                                               (((\ bs ->
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       (Prelude.fromIntegral
+                                                          (Data.ByteString.length bs)))
+                                                      Data.Monoid.<>
+                                                      Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                  Prelude.. Data.ProtoLens.encodeMessage)
+                                                 _v)
+                       Data.Monoid.<>
+                       (case
+                          Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"maybe'clientStreaming")
+                            _x
+                          of
+                            (Prelude.Nothing) -> Data.Monoid.mempty
+                            Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                                 Data.Monoid.<>
+                                                 ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                    Prelude.. (\ b -> if b then 1 else 0))
+                                                   _v)
+                         Data.Monoid.<>
+                         (case
+                            Lens.Family2.view
+                              (Data.ProtoLens.Field.field @"maybe'serverStreaming")
+                              _x
+                            of
+                              (Prelude.Nothing) -> Data.Monoid.mempty
+                              Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+                                                   Data.Monoid.<>
+                                                   ((Data.ProtoLens.Encoding.Bytes.putVarInt)
+                                                      Prelude.. (\ b -> if b then 1 else 0))
+                                                     _v)
+                           Data.Monoid.<>
+                           Data.ProtoLens.Encoding.Wire.buildFieldSet
+                             (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData MethodDescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_MethodDescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_MethodDescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_MethodDescriptorProto'inputType x__)
+                       (Control.DeepSeq.deepseq (_MethodDescriptorProto'outputType x__)
+                          (Control.DeepSeq.deepseq (_MethodDescriptorProto'options x__)
+                             (Control.DeepSeq.deepseq
+                                (_MethodDescriptorProto'clientStreaming x__)
+                                (Control.DeepSeq.deepseq
+                                   (_MethodDescriptorProto'serverStreaming x__)
+                                   (()))))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MethodOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MethodOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.idempotencyLevel' @:: Lens' MethodOptions MethodOptions'IdempotencyLevel@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'idempotencyLevel' @:: Lens' MethodOptions (Prelude.Maybe MethodOptions'IdempotencyLevel)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MethodOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' MethodOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data MethodOptions = MethodOptions{_MethodOptions'deprecated ::
+                                   !(Prelude.Maybe Prelude.Bool),
+                                   _MethodOptions'idempotencyLevel ::
+                                   !(Prelude.Maybe MethodOptions'IdempotencyLevel),
+                                   _MethodOptions'uninterpretedOption ::
+                                   !(Data.Vector.Vector UninterpretedOption),
+                                   _MethodOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                       deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MethodOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField MethodOptions "deprecated"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
+               (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField MethodOptions
+           "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
+               (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MethodOptions
+           "idempotencyLevel"
+           (MethodOptions'IdempotencyLevel)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodOptions'idempotencyLevel
+               (\ x__ y__ -> x__{_MethodOptions'idempotencyLevel = y__}))
+              Prelude..
+              Data.ProtoLens.maybeLens MethodOptions'IDEMPOTENCY_UNKNOWN
+instance Data.ProtoLens.Field.HasField MethodOptions
+           "maybe'idempotencyLevel"
+           (Prelude.Maybe MethodOptions'IdempotencyLevel)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodOptions'idempotencyLevel
+               (\ x__ y__ -> x__{_MethodOptions'idempotencyLevel = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField MethodOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_MethodOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField MethodOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _MethodOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_MethodOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message MethodOptions where
+        messageName _ = Data.Text.pack "google.protobuf.MethodOptions"
+        fieldsByTag
+          = let deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'deprecated"))
+                      :: Data.ProtoLens.FieldDescriptor MethodOptions
+                idempotencyLevel__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "idempotency_level"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor MethodOptions'IdempotencyLevel)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'idempotencyLevel"))
+                      :: Data.ProtoLens.FieldDescriptor MethodOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor MethodOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 34, idempotencyLevel__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _MethodOptions'_unknownFields
+              (\ x__ y__ -> x__{_MethodOptions'_unknownFields = y__})
+        defMessage
+          = MethodOptions{_MethodOptions'deprecated = Prelude.Nothing,
+                          _MethodOptions'idempotencyLevel = Prelude.Nothing,
+                          _MethodOptions'uninterpretedOption = Data.Vector.Generic.empty,
+                          _MethodOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     MethodOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser MethodOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                264 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "deprecated"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"deprecated")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                272 -> do y <- (Prelude.fmap Prelude.toEnum
+                                                  (Prelude.fmap Prelude.fromIntegral
+                                                     Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "idempotency_level"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"idempotencyLevel")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "MethodOptions"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'deprecated")
+                    _x
+                  of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 264)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            (\ b -> if b then 1 else 0))
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"maybe'idempotencyLevel")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 272)
+                                           Data.Monoid.<>
+                                           (((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                               Prelude.fromIntegral)
+                                              Prelude.. Prelude.fromEnum)
+                                             _v)
+                   Data.Monoid.<>
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v ->
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                           (((\ bs ->
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Prelude.. Data.ProtoLens.encodeMessage)
+                             _v)
+                      (Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                         _x))
+                     Data.Monoid.<>
+                     Data.ProtoLens.Encoding.Wire.buildFieldSet
+                       (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData MethodOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_MethodOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_MethodOptions'deprecated x__)
+                    (Control.DeepSeq.deepseq (_MethodOptions'idempotencyLevel x__)
+                       (Control.DeepSeq.deepseq (_MethodOptions'uninterpretedOption x__)
+                          (())))))
+data MethodOptions'IdempotencyLevel = MethodOptions'IDEMPOTENCY_UNKNOWN
+                                    | MethodOptions'NO_SIDE_EFFECTS
+                                    | MethodOptions'IDEMPOTENT
+                                        deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum MethodOptions'IdempotencyLevel
+         where
+        maybeToEnum 0 = Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN
+        maybeToEnum 1 = Prelude.Just MethodOptions'NO_SIDE_EFFECTS
+        maybeToEnum 2 = Prelude.Just MethodOptions'IDEMPOTENT
+        maybeToEnum _ = Prelude.Nothing
+        showEnum MethodOptions'IDEMPOTENCY_UNKNOWN = "IDEMPOTENCY_UNKNOWN"
+        showEnum MethodOptions'NO_SIDE_EFFECTS = "NO_SIDE_EFFECTS"
+        showEnum MethodOptions'IDEMPOTENT = "IDEMPOTENT"
+        readEnum k
+          | (k) Prelude.== "IDEMPOTENCY_UNKNOWN" =
+            Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN
+          | (k) Prelude.== "NO_SIDE_EFFECTS" =
+            Prelude.Just MethodOptions'NO_SIDE_EFFECTS
+          | (k) Prelude.== "IDEMPOTENT" =
+            Prelude.Just MethodOptions'IDEMPOTENT
+        readEnum k
+          = (Text.Read.readMaybe k) Prelude.>>= Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded MethodOptions'IdempotencyLevel where
+        minBound = MethodOptions'IDEMPOTENCY_UNKNOWN
+        maxBound = MethodOptions'IDEMPOTENT
+instance Prelude.Enum MethodOptions'IdempotencyLevel where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 (("toEnum: unknown value for enum IdempotencyLevel: ") Prelude.++
+                    Prelude.show k__))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum MethodOptions'IDEMPOTENCY_UNKNOWN = 0
+        fromEnum MethodOptions'NO_SIDE_EFFECTS = 1
+        fromEnum MethodOptions'IDEMPOTENT = 2
+        succ MethodOptions'IDEMPOTENT
+          = Prelude.error
+              "MethodOptions'IdempotencyLevel.succ: bad argument MethodOptions'IDEMPOTENT. This value would be out of bounds."
+        succ MethodOptions'IDEMPOTENCY_UNKNOWN
+          = MethodOptions'NO_SIDE_EFFECTS
+        succ MethodOptions'NO_SIDE_EFFECTS = MethodOptions'IDEMPOTENT
+        pred MethodOptions'IDEMPOTENCY_UNKNOWN
+          = Prelude.error
+              "MethodOptions'IdempotencyLevel.pred: bad argument MethodOptions'IDEMPOTENCY_UNKNOWN. This value would be out of bounds."
+        pred MethodOptions'NO_SIDE_EFFECTS
+          = MethodOptions'IDEMPOTENCY_UNKNOWN
+        pred MethodOptions'IDEMPOTENT = MethodOptions'NO_SIDE_EFFECTS
+        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault MethodOptions'IdempotencyLevel
+         where
+        fieldDefault = MethodOptions'IDEMPOTENCY_UNKNOWN
+instance Control.DeepSeq.NFData MethodOptions'IdempotencyLevel
+         where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' OneofDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' OneofDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' OneofDescriptorProto OneofOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' OneofDescriptorProto (Prelude.Maybe OneofOptions)@
+ -}
+data OneofDescriptorProto = OneofDescriptorProto{_OneofDescriptorProto'name
+                                                 :: !(Prelude.Maybe Data.Text.Text),
+                                                 _OneofDescriptorProto'options ::
+                                                 !(Prelude.Maybe OneofOptions),
+                                                 _OneofDescriptorProto'_unknownFields ::
+                                                 !Data.ProtoLens.FieldSet}
+                              deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show OneofDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField OneofDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
+               (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField OneofDescriptorProto
+           "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
+               (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField OneofDescriptorProto
+           "options"
+           (OneofOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _OneofDescriptorProto'options
+               (\ x__ y__ -> x__{_OneofDescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField OneofDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe OneofOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _OneofDescriptorProto'options
+               (\ x__ y__ -> x__{_OneofDescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message OneofDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.OneofDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor OneofOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _OneofDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_OneofDescriptorProto'_unknownFields = y__})
+        defMessage
+          = OneofDescriptorProto{_OneofDescriptorProto'name =
+                                   Prelude.Nothing,
+                                 _OneofDescriptorProto'options = Prelude.Nothing,
+                                 _OneofDescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     OneofDescriptorProto ->
+                       Data.ProtoLens.Encoding.Bytes.Parser OneofDescriptorProto
+                loop x
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                18 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+              in
+              (do loop Data.ProtoLens.defMessage)
+                Data.ProtoLens.Encoding.Bytes.<?> "OneofDescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.ProtoLens.encodeMessage)
+                                             _v)
+                   Data.Monoid.<>
+                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData OneofDescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_OneofDescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_OneofDescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_OneofDescriptorProto'options x__)
+                       (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' OneofOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' OneofOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data OneofOptions = OneofOptions{_OneofOptions'uninterpretedOption
+                                 :: !(Data.Vector.Vector UninterpretedOption),
+                                 _OneofOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show OneofOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField OneofOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _OneofOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_OneofOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField OneofOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _OneofOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_OneofOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message OneofOptions where
+        messageName _ = Data.Text.pack "google.protobuf.OneofOptions"
+        fieldsByTag
+          = let uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor OneofOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _OneofOptions'_unknownFields
+              (\ x__ y__ -> x__{_OneofOptions'_unknownFields = y__})
+        defMessage
+          = OneofOptions{_OneofOptions'uninterpretedOption =
+                           Data.Vector.Generic.empty,
+                         _OneofOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     OneofOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser OneofOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "OneofOptions"
+        buildMessage
+          = (\ _x ->
+               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                  (\ _v ->
+                     (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                       (((\ bs ->
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Prelude.. Data.ProtoLens.encodeMessage)
+                         _v)
+                  (Lens.Family2.view
+                     (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                     _x))
+                 Data.Monoid.<>
+                 Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData OneofOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_OneofOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_OneofOptions'uninterpretedOption x__)
+                    (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' ServiceDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' ServiceDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.method' @:: Lens' ServiceDescriptorProto [MethodDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'method' @:: Lens' ServiceDescriptorProto
+  (Data.Vector.Vector MethodDescriptorProto)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' ServiceDescriptorProto ServiceOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' ServiceDescriptorProto (Prelude.Maybe ServiceOptions)@
+ -}
+data ServiceDescriptorProto = ServiceDescriptorProto{_ServiceDescriptorProto'name
+                                                     :: !(Prelude.Maybe Data.Text.Text),
+                                                     _ServiceDescriptorProto'method ::
+                                                     !(Data.Vector.Vector MethodDescriptorProto),
+                                                     _ServiceDescriptorProto'options ::
+                                                     !(Prelude.Maybe ServiceOptions),
+                                                     _ServiceDescriptorProto'_unknownFields ::
+                                                     !Data.ProtoLens.FieldSet}
+                                deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ServiceDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto
+           "name"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
+               (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto
+           "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
+               (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto
+           "method"
+           ([MethodDescriptorProto])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'method
+               (\ x__ y__ -> x__{_ServiceDescriptorProto'method = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto
+           "vec'method"
+           (Data.Vector.Vector MethodDescriptorProto)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'method
+               (\ x__ y__ -> x__{_ServiceDescriptorProto'method = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto
+           "options"
+           (ServiceOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
+               (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
+instance Data.ProtoLens.Field.HasField ServiceDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe ServiceOptions)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
+               (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message ServiceDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.ServiceDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'name"))
+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
+                method__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "method"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor MethodDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"method"))
+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor ServiceOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'options"))
+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, method__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _ServiceDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_ServiceDescriptorProto'_unknownFields = y__})
+        defMessage
+          = ServiceDescriptorProto{_ServiceDescriptorProto'name =
+                                     Prelude.Nothing,
+                                   _ServiceDescriptorProto'method = Data.Vector.Generic.empty,
+                                   _ServiceDescriptorProto'options = Prelude.Nothing,
+                                   _ServiceDescriptorProto'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     ServiceDescriptorProto ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         MethodDescriptorProto
+                         -> Data.ProtoLens.Encoding.Bytes.Parser ServiceDescriptorProto
+                loop x mutable'method
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'method <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                  mutable'method)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'method")
+                                    frozen'method
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
+                                              x)
+                                           mutable'method
+                                18 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "method"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'method
+                                                   y)
+                                         loop x v
+                                26 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.isolate
+                                                    (Prelude.fromIntegral len)
+                                                    Data.ProtoLens.parseMessage)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "options"
+                                         loop
+                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"options")
+                                              y
+                                              x)
+                                           mutable'method
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'method
+              in
+              (do mutable'method <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'method)
+                Data.ProtoLens.Encoding.Bytes.<?> "ServiceDescriptorProto"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'name") _x of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                                         Data.Monoid.<>
+                                         (((\ bs ->
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                                Data.Monoid.<>
+                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                            Prelude.. Data.Text.Encoding.encodeUtf8)
+                                           _v)
+                 Data.Monoid.<>
+                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                    (\ _v ->
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
+                         (((\ bs ->
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Prelude.. Data.ProtoLens.encodeMessage)
+                           _v)
+                    (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'method") _x))
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'options") _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                             Data.Monoid.<>
+                                             (((\ bs ->
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                    Data.Monoid.<>
+                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                Prelude.. Data.ProtoLens.encodeMessage)
+                                               _v)
+                     Data.Monoid.<>
+                     Data.ProtoLens.Encoding.Wire.buildFieldSet
+                       (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData ServiceDescriptorProto where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_ServiceDescriptorProto'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_ServiceDescriptorProto'name x__)
+                    (Control.DeepSeq.deepseq (_ServiceDescriptorProto'method x__)
+                       (Control.DeepSeq.deepseq (_ServiceDescriptorProto'options x__)
+                          (())))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' ServiceOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' ServiceOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ServiceOptions [UninterpretedOption]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'uninterpretedOption' @:: Lens' ServiceOptions (Data.Vector.Vector UninterpretedOption)@
+ -}
+data ServiceOptions = ServiceOptions{_ServiceOptions'deprecated ::
+                                     !(Prelude.Maybe Prelude.Bool),
+                                     _ServiceOptions'uninterpretedOption ::
+                                     !(Data.Vector.Vector UninterpretedOption),
+                                     _ServiceOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ServiceOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ServiceOptions "deprecated"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
+               (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Prelude.False
+instance Data.ProtoLens.Field.HasField ServiceOptions
+           "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
+               (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField ServiceOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_ServiceOptions'uninterpretedOption = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField ServiceOptions
+           "vec'uninterpretedOption"
+           (Data.Vector.Vector UninterpretedOption)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _ServiceOptions'uninterpretedOption
+               (\ x__ y__ -> x__{_ServiceOptions'uninterpretedOption = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message ServiceOptions where
+        messageName _ = Data.Text.pack "google.protobuf.ServiceOptions"
+        fieldsByTag
+          = let deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'deprecated"))
+                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"uninterpretedOption"))
+                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _ServiceOptions'_unknownFields
+              (\ x__ y__ -> x__{_ServiceOptions'_unknownFields = y__})
+        defMessage
+          = ServiceOptions{_ServiceOptions'deprecated = Prelude.Nothing,
+                           _ServiceOptions'uninterpretedOption = Data.Vector.Generic.empty,
+                           _ServiceOptions'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     ServiceOptions ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption
+                         -> Data.ProtoLens.Encoding.Bytes.Parser ServiceOptions
+                loop x mutable'uninterpretedOption
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                               mutable'uninterpretedOption)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                                    frozen'uninterpretedOption
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                264 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "deprecated"
+                                          loop
+                                            (Lens.Family2.set
+                                               (Data.ProtoLens.Field.field @"deprecated")
+                                               y
+                                               x)
+                                            mutable'uninterpretedOption
+                                7994 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                     Data.ProtoLens.Encoding.Bytes.isolate
+                                                       (Prelude.fromIntegral len)
+                                                       Data.ProtoLens.parseMessage)
+                                                   Data.ProtoLens.Encoding.Bytes.<?>
+                                                   "uninterpreted_option"
+                                           v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.append
+                                                     mutable'uninterpretedOption
+                                                     y)
+                                           loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'uninterpretedOption
+              in
+              (do mutable'uninterpretedOption <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'uninterpretedOption)
+                Data.ProtoLens.Encoding.Bytes.<?> "ServiceOptions"
+        buildMessage
+          = (\ _x ->
+               (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'deprecated")
+                    _x
+                  of
+                    (Prelude.Nothing) -> Data.Monoid.mempty
+                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 264)
+                                         Data.Monoid.<>
+                                         ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                            (\ b -> if b then 1 else 0))
+                                           _v)
+                 Data.Monoid.<>
+                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                    (\ _v ->
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 7994) Data.Monoid.<>
+                         (((\ bs ->
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Prelude.. Data.ProtoLens.encodeMessage)
+                           _v)
+                    (Lens.Family2.view
+                       (Data.ProtoLens.Field.field @"vec'uninterpretedOption")
+                       _x))
+                   Data.Monoid.<>
+                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData ServiceOptions where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_ServiceOptions'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_ServiceOptions'deprecated x__)
+                    (Control.DeepSeq.deepseq (_ServiceOptions'uninterpretedOption x__)
+                       (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.location' @:: Lens' SourceCodeInfo [SourceCodeInfo'Location]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'location' @:: Lens' SourceCodeInfo (Data.Vector.Vector SourceCodeInfo'Location)@
+ -}
+data SourceCodeInfo = SourceCodeInfo{_SourceCodeInfo'location ::
+                                     !(Data.Vector.Vector SourceCodeInfo'Location),
+                                     _SourceCodeInfo'_unknownFields :: !Data.ProtoLens.FieldSet}
+                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SourceCodeInfo where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField SourceCodeInfo "location"
+           ([SourceCodeInfo'Location])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _SourceCodeInfo'location
+               (\ x__ y__ -> x__{_SourceCodeInfo'location = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField SourceCodeInfo
+           "vec'location"
+           (Data.Vector.Vector SourceCodeInfo'Location)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _SourceCodeInfo'location
+               (\ x__ y__ -> x__{_SourceCodeInfo'location = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message SourceCodeInfo where
+        messageName _ = Data.Text.pack "google.protobuf.SourceCodeInfo"
+        fieldsByTag
+          = let location__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "location"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo'Location)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"location"))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, location__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _SourceCodeInfo'_unknownFields
+              (\ x__ y__ -> x__{_SourceCodeInfo'_unknownFields = y__})
+        defMessage
+          = SourceCodeInfo{_SourceCodeInfo'location =
+                             Data.Vector.Generic.empty,
+                           _SourceCodeInfo'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     SourceCodeInfo ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         SourceCodeInfo'Location
+                         -> Data.ProtoLens.Encoding.Bytes.Parser SourceCodeInfo
+                loop x mutable'location
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'location <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                    mutable'location)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'location")
+                                    frozen'location
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "location"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'location
+                                                   y)
+                                         loop x v
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'location
+              in
+              (do mutable'location <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'location)
+                Data.ProtoLens.Encoding.Bytes.<?> "SourceCodeInfo"
+        buildMessage
+          = (\ _x ->
+               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                  (\ _v ->
+                     (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
+                       (((\ bs ->
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Prelude.. Data.ProtoLens.encodeMessage)
+                         _v)
+                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'location")
+                     _x))
+                 Data.Monoid.<>
+                 Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData SourceCodeInfo where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_SourceCodeInfo'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_SourceCodeInfo'location x__) (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'path' @:: Lens' SourceCodeInfo'Location
+  (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.span' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'span' @:: Lens' SourceCodeInfo'Location
+  (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'leadingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.trailingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'trailingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingDetachedComments' @:: Lens' SourceCodeInfo'Location [Data.Text.Text]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'leadingDetachedComments' @:: Lens' SourceCodeInfo'Location (Data.Vector.Vector Data.Text.Text)@
+ -}
+data SourceCodeInfo'Location = SourceCodeInfo'Location{_SourceCodeInfo'Location'path
+                                                       ::
+                                                       !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                                                       _SourceCodeInfo'Location'span ::
+                                                       !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                                                       _SourceCodeInfo'Location'leadingComments ::
+                                                       !(Prelude.Maybe Data.Text.Text),
+                                                       _SourceCodeInfo'Location'trailingComments ::
+                                                       !(Prelude.Maybe Data.Text.Text),
+                                                       _SourceCodeInfo'Location'leadingDetachedComments
+                                                       :: !(Data.Vector.Vector Data.Text.Text),
+                                                       _SourceCodeInfo'Location'_unknownFields ::
+                                                       !Data.ProtoLens.FieldSet}
+                                 deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SourceCodeInfo'Location where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "path"
+           ([Data.Int.Int32])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'path
+               (\ x__ y__ -> x__{_SourceCodeInfo'Location'path = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "vec'path"
+           (Data.Vector.Unboxed.Vector Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'path
+               (\ x__ y__ -> x__{_SourceCodeInfo'Location'path = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "span"
+           ([Data.Int.Int32])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'span
+               (\ x__ y__ -> x__{_SourceCodeInfo'Location'span = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "vec'span"
+           (Data.Vector.Unboxed.Vector Data.Int.Int32)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'span
+               (\ x__ y__ -> x__{_SourceCodeInfo'Location'span = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "leadingComments"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _SourceCodeInfo'Location'leadingComments
+               (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "maybe'leadingComments"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _SourceCodeInfo'Location'leadingComments
+               (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "trailingComments"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _SourceCodeInfo'Location'trailingComments
+               (\ x__ y__ ->
+                  x__{_SourceCodeInfo'Location'trailingComments = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "maybe'trailingComments"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _SourceCodeInfo'Location'trailingComments
+               (\ x__ y__ ->
+                  x__{_SourceCodeInfo'Location'trailingComments = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "leadingDetachedComments"
+           ([Data.Text.Text])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _SourceCodeInfo'Location'leadingDetachedComments
+               (\ x__ y__ ->
+                  x__{_SourceCodeInfo'Location'leadingDetachedComments = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField SourceCodeInfo'Location
+           "vec'leadingDetachedComments"
+           (Data.Vector.Vector Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _SourceCodeInfo'Location'leadingDetachedComments
+               (\ x__ y__ ->
+                  x__{_SourceCodeInfo'Location'leadingDetachedComments = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message SourceCodeInfo'Location where
+        messageName _
+          = Data.Text.pack "google.protobuf.SourceCodeInfo.Location"
+        fieldsByTag
+          = let path__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "path"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
+                         (Data.ProtoLens.Field.field @"path"))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                span__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "span"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
+                         (Data.ProtoLens.Field.field @"span"))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                leadingComments__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "leading_comments"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'leadingComments"))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                trailingComments__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "trailing_comments"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'trailingComments"))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                leadingDetachedComments__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "leading_detached_comments"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"leadingDetachedComments"))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, path__field_descriptor),
+                 (Data.ProtoLens.Tag 2, span__field_descriptor),
+                 (Data.ProtoLens.Tag 3, leadingComments__field_descriptor),
+                 (Data.ProtoLens.Tag 4, trailingComments__field_descriptor),
+                 (Data.ProtoLens.Tag 6, leadingDetachedComments__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _SourceCodeInfo'Location'_unknownFields
+              (\ x__ y__ -> x__{_SourceCodeInfo'Location'_unknownFields = y__})
+        defMessage
+          = SourceCodeInfo'Location{_SourceCodeInfo'Location'path =
+                                      Data.Vector.Generic.empty,
+                                    _SourceCodeInfo'Location'span = Data.Vector.Generic.empty,
+                                    _SourceCodeInfo'Location'leadingComments = Prelude.Nothing,
+                                    _SourceCodeInfo'Location'trailingComments = Prelude.Nothing,
+                                    _SourceCodeInfo'Location'leadingDetachedComments =
+                                      Data.Vector.Generic.empty,
+                                    _SourceCodeInfo'Location'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     SourceCodeInfo'Location ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         Data.Text.Text
+                         ->
+                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector
+                           Data.ProtoLens.Encoding.Growing.RealWorld
+                           Data.Int.Int32
+                           ->
+                           Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector
+                             Data.ProtoLens.Encoding.Growing.RealWorld
+                             Data.Int.Int32
+                             -> Data.ProtoLens.Encoding.Bytes.Parser SourceCodeInfo'Location
+                loop x mutable'leadingDetachedComments mutable'path mutable'span
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'leadingDetachedComments <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                                   mutable'leadingDetachedComments)
+                            frozen'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'path)
+                            frozen'span <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'span)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'leadingDetachedComments")
+                                    frozen'leadingDetachedComments
+                                    (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'path")
+                                       frozen'path
+                                       (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'span")
+                                          frozen'span
+                                          x))))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                8 -> do !y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "path"
+                                        v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                               (Data.ProtoLens.Encoding.Growing.append mutable'path
+                                                  y)
+                                        loop x mutable'leadingDetachedComments v mutable'span
+                                10 -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                 Data.ProtoLens.Encoding.Bytes.isolate
+                                                   (Prelude.fromIntegral len)
+                                                   ((let ploop qs
+                                                           = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                                if packedEnd then Prelude.return qs
+                                                                  else
+                                                                  do !q <- (Prelude.fmap
+                                                                              Prelude.fromIntegral
+                                                                              Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                             Data.ProtoLens.Encoding.Bytes.<?>
+                                                                             "path"
+                                                                     qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                              (Data.ProtoLens.Encoding.Growing.append
+                                                                                 qs
+                                                                                 q)
+                                                                     ploop qs'
+                                                       in ploop)
+                                                      mutable'path)
+                                         loop x mutable'leadingDetachedComments y mutable'span
+                                16 -> do !y <- (Prelude.fmap Prelude.fromIntegral
+                                                  Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "span"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append mutable'span
+                                                   y)
+                                         loop x mutable'leadingDetachedComments mutable'path v
+                                18 -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                 Data.ProtoLens.Encoding.Bytes.isolate
+                                                   (Prelude.fromIntegral len)
+                                                   ((let ploop qs
+                                                           = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                                if packedEnd then Prelude.return qs
+                                                                  else
+                                                                  do !q <- (Prelude.fmap
+                                                                              Prelude.fromIntegral
+                                                                              Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                             Data.ProtoLens.Encoding.Bytes.<?>
+                                                                             "span"
+                                                                     qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                              (Data.ProtoLens.Encoding.Growing.append
+                                                                                 qs
+                                                                                 q)
+                                                                     ploop qs'
+                                                       in ploop)
+                                                      mutable'span)
+                                         loop x mutable'leadingDetachedComments mutable'path y
+                                26 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "leading_comments"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"leadingComments")
+                                              y
+                                              x)
+                                           mutable'leadingDetachedComments
+                                           mutable'path
+                                           mutable'span
+                                34 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?>
+                                                "trailing_comments"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"trailingComments")
+                                              y
+                                              x)
+                                           mutable'leadingDetachedComments
+                                           mutable'path
+                                           mutable'span
+                                50 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                               Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                 (Prelude.fromIntegral len)
+                                                   Data.ProtoLens.Encoding.Bytes.runEither
+                                                     (case Data.Text.Encoding.decodeUtf8' value of
+                                                          Prelude.Left err -> Prelude.Left
+                                                                                (Prelude.show err)
+                                                          Prelude.Right r -> Prelude.Right r))
+                                                 Data.ProtoLens.Encoding.Bytes.<?>
+                                                 "leading_detached_comments"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append
+                                                   mutable'leadingDetachedComments
+                                                   y)
+                                         loop x v mutable'path mutable'span
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'leadingDetachedComments
+                                             mutable'path
+                                             mutable'span
+              in
+              (do mutable'leadingDetachedComments <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                       Data.ProtoLens.Encoding.Growing.new
+                  mutable'path <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+                  mutable'span <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'leadingDetachedComments
+                    mutable'path
+                    mutable'span)
+                Data.ProtoLens.Encoding.Bytes.<?> "Location"
+        buildMessage
+          = (\ _x ->
+               (let p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'path")
+                          _x
+                  in
+                  if Data.Vector.Generic.null p then Data.Monoid.mempty else
+                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
+                      (\ bs ->
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                           Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs)
+                        (Data.ProtoLens.Encoding.Bytes.runBuilder
+                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                              ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                 Prelude.fromIntegral)
+                              p)))
+                 Data.Monoid.<>
+                 (let p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'span")
+                            _x
+                    in
+                    if Data.Vector.Generic.null p then Data.Monoid.mempty else
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
+                        (\ bs ->
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                             Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs)
+                          (Data.ProtoLens.Encoding.Bytes.runBuilder
+                             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                   Prelude.fromIntegral)
+                                p)))
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view
+                        (Data.ProtoLens.Field.field @"maybe'leadingComments")
+                        _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                             Data.Monoid.<>
+                                             (((\ bs ->
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                    Data.Monoid.<>
+                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                Prelude.. Data.Text.Encoding.encodeUtf8)
+                                               _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view
+                          (Data.ProtoLens.Field.field @"maybe'trailingComments")
+                          _x
+                        of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                               Data.Monoid.<>
+                                               (((\ bs ->
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       (Prelude.fromIntegral
+                                                          (Data.ByteString.length bs)))
+                                                      Data.Monoid.<>
+                                                      Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                                  Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                 _v)
+                       Data.Monoid.<>
+                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                          (\ _v ->
+                             (Data.ProtoLens.Encoding.Bytes.putVarInt 50) Data.Monoid.<>
+                               (((\ bs ->
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                  Prelude.. Data.Text.Encoding.encodeUtf8)
+                                 _v)
+                          (Lens.Family2.view
+                             (Data.ProtoLens.Field.field @"vec'leadingDetachedComments")
+                             _x))
+                         Data.Monoid.<>
+                         Data.ProtoLens.Encoding.Wire.buildFieldSet
+                           (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData SourceCodeInfo'Location where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_SourceCodeInfo'Location'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_SourceCodeInfo'Location'path x__)
+                    (Control.DeepSeq.deepseq (_SourceCodeInfo'Location'span x__)
+                       (Control.DeepSeq.deepseq
+                          (_SourceCodeInfo'Location'leadingComments x__)
+                          (Control.DeepSeq.deepseq
+                             (_SourceCodeInfo'Location'trailingComments x__)
+                             (Control.DeepSeq.deepseq
+                                (_SourceCodeInfo'Location'leadingDetachedComments x__)
+                                (())))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' UninterpretedOption [UninterpretedOption'NamePart]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.vec'name' @:: Lens' UninterpretedOption
+  (Data.Vector.Vector UninterpretedOption'NamePart)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.identifierValue' @:: Lens' UninterpretedOption Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'identifierValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.positiveIntValue' @:: Lens' UninterpretedOption Data.Word.Word64@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'positiveIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Word.Word64)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.negativeIntValue' @:: Lens' UninterpretedOption Data.Int.Int64@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'negativeIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Int.Int64)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.doubleValue' @:: Lens' UninterpretedOption Prelude.Double@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'doubleValue' @:: Lens' UninterpretedOption (Prelude.Maybe Prelude.Double)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.stringValue' @:: Lens' UninterpretedOption Data.ByteString.ByteString@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'stringValue' @:: Lens' UninterpretedOption
+  (Prelude.Maybe Data.ByteString.ByteString)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.aggregateValue' @:: Lens' UninterpretedOption Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'aggregateValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
+ -}
+data UninterpretedOption = UninterpretedOption{_UninterpretedOption'name
+                                               ::
+                                               !(Data.Vector.Vector UninterpretedOption'NamePart),
+                                               _UninterpretedOption'identifierValue ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _UninterpretedOption'positiveIntValue ::
+                                               !(Prelude.Maybe Data.Word.Word64),
+                                               _UninterpretedOption'negativeIntValue ::
+                                               !(Prelude.Maybe Data.Int.Int64),
+                                               _UninterpretedOption'doubleValue ::
+                                               !(Prelude.Maybe Prelude.Double),
+                                               _UninterpretedOption'stringValue ::
+                                               !(Prelude.Maybe Data.ByteString.ByteString),
+                                               _UninterpretedOption'aggregateValue ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _UninterpretedOption'_unknownFields ::
+                                               !Data.ProtoLens.FieldSet}
+                             deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show UninterpretedOption where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField UninterpretedOption "name"
+           ([UninterpretedOption'NamePart])
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'name
+               (\ x__ y__ -> x__{_UninterpretedOption'name = y__}))
+              Prelude..
+              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
+                (\ _ y__ -> Data.Vector.Generic.fromList y__)
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "vec'name"
+           (Data.Vector.Vector UninterpretedOption'NamePart)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'name
+               (\ x__ y__ -> x__{_UninterpretedOption'name = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "identifierValue"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
+               (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "maybe'identifierValue"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
+               (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "positiveIntValue"
+           (Data.Word.Word64)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _UninterpretedOption'positiveIntValue
+               (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "maybe'positiveIntValue"
+           (Prelude.Maybe Data.Word.Word64)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _UninterpretedOption'positiveIntValue
+               (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "negativeIntValue"
+           (Data.Int.Int64)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _UninterpretedOption'negativeIntValue
+               (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "maybe'negativeIntValue"
+           (Prelude.Maybe Data.Int.Int64)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _UninterpretedOption'negativeIntValue
+               (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "doubleValue"
+           (Prelude.Double)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
+               (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "maybe'doubleValue"
+           (Prelude.Maybe Prelude.Double)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
+               (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "stringValue"
+           (Data.ByteString.ByteString)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
+               (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "maybe'stringValue"
+           (Prelude.Maybe Data.ByteString.ByteString)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
+               (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "aggregateValue"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
+               (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
+              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
+instance Data.ProtoLens.Field.HasField UninterpretedOption
+           "maybe'aggregateValue"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
+               (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message UninterpretedOption where
+        messageName _
+          = Data.Text.pack "google.protobuf.UninterpretedOption"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption'NamePart)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Data.ProtoLens.Field.field @"name"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                identifierValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "identifier_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'identifierValue"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                positiveIntValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "positive_int_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'positiveIntValue"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                negativeIntValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "negative_int_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'negativeIntValue"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                doubleValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "double_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'doubleValue"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                stringValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "string_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'stringValue"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                aggregateValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "aggregate_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Data.ProtoLens.Field.field @"maybe'aggregateValue"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 2, name__field_descriptor),
+                 (Data.ProtoLens.Tag 3, identifierValue__field_descriptor),
+                 (Data.ProtoLens.Tag 4, positiveIntValue__field_descriptor),
+                 (Data.ProtoLens.Tag 5, negativeIntValue__field_descriptor),
+                 (Data.ProtoLens.Tag 6, doubleValue__field_descriptor),
+                 (Data.ProtoLens.Tag 7, stringValue__field_descriptor),
+                 (Data.ProtoLens.Tag 8, aggregateValue__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _UninterpretedOption'_unknownFields
+              (\ x__ y__ -> x__{_UninterpretedOption'_unknownFields = y__})
+        defMessage
+          = UninterpretedOption{_UninterpretedOption'name =
+                                  Data.Vector.Generic.empty,
+                                _UninterpretedOption'identifierValue = Prelude.Nothing,
+                                _UninterpretedOption'positiveIntValue = Prelude.Nothing,
+                                _UninterpretedOption'negativeIntValue = Prelude.Nothing,
+                                _UninterpretedOption'doubleValue = Prelude.Nothing,
+                                _UninterpretedOption'stringValue = Prelude.Nothing,
+                                _UninterpretedOption'aggregateValue = Prelude.Nothing,
+                                _UninterpretedOption'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     UninterpretedOption ->
+                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
+                         Data.ProtoLens.Encoding.Growing.RealWorld
+                         UninterpretedOption'NamePart
+                         -> Data.ProtoLens.Encoding.Bytes.Parser UninterpretedOption
+                loop x mutable'name
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do frozen'name <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'name)
+                            let missing = [] in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'name")
+                                    frozen'name
+                                    x))
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                18 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                   Data.ProtoLens.Encoding.Bytes.isolate
+                                                     (Prelude.fromIntegral len)
+                                                     Data.ProtoLens.parseMessage)
+                                                 Data.ProtoLens.Encoding.Bytes.<?> "name"
+                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.append mutable'name
+                                                   y)
+                                         loop x v
+                                26 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "identifier_value"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"identifierValue")
+                                              y
+                                              x)
+                                           mutable'name
+                                32 -> do y <- (Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?>
+                                                "positive_int_value"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"positiveIntValue")
+                                              y
+                                              x)
+                                           mutable'name
+                                40 -> do y <- (Prelude.fmap Prelude.fromIntegral
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?>
+                                                "negative_int_value"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"negativeIntValue")
+                                              y
+                                              x)
+                                           mutable'name
+                                49 -> do y <- (Prelude.fmap
+                                                 Data.ProtoLens.Encoding.Bytes.wordToDouble
+                                                 Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "double_value"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"doubleValue")
+                                              y
+                                              x)
+                                           mutable'name
+                                58 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                  Data.ProtoLens.Encoding.Bytes.getBytes
+                                                    (Prelude.fromIntegral len))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "string_value"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"stringValue")
+                                              y
+                                              x)
+                                           mutable'name
+                                66 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "aggregate_value"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"aggregateValue")
+                                              y
+                                              x)
+                                           mutable'name
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             mutable'name
+              in
+              (do mutable'name <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+                  loop Data.ProtoLens.defMessage mutable'name)
+                Data.ProtoLens.Encoding.Bytes.<?> "UninterpretedOption"
+        buildMessage
+          = (\ _x ->
+               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                  (\ _v ->
+                     (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
+                       (((\ bs ->
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Prelude.. Data.ProtoLens.encodeMessage)
+                         _v)
+                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'name") _x))
+                 Data.Monoid.<>
+                 (case
+                    Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"maybe'identifierValue")
+                      _x
+                    of
+                      (Prelude.Nothing) -> Data.Monoid.mempty
+                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                           Data.Monoid.<>
+                                           (((\ bs ->
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                  Data.Monoid.<>
+                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              Prelude.. Data.Text.Encoding.encodeUtf8)
+                                             _v)
+                   Data.Monoid.<>
+                   (case
+                      Lens.Family2.view
+                        (Data.ProtoLens.Field.field @"maybe'positiveIntValue")
+                        _x
+                      of
+                        (Prelude.Nothing) -> Data.Monoid.mempty
+                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                                             Data.Monoid.<>
+                                             Data.ProtoLens.Encoding.Bytes.putVarInt _v)
+                     Data.Monoid.<>
+                     (case
+                        Lens.Family2.view
+                          (Data.ProtoLens.Field.field @"maybe'negativeIntValue")
+                          _x
+                        of
+                          (Prelude.Nothing) -> Data.Monoid.mempty
+                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                               Data.Monoid.<>
+                                               ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                                                  Prelude.fromIntegral)
+                                                 _v)
+                       Data.Monoid.<>
+                       (case
+                          Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'doubleValue")
+                            _x
+                          of
+                            (Prelude.Nothing) -> Data.Monoid.mempty
+                            Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 49)
+                                                 Data.Monoid.<>
+                                                 ((Data.ProtoLens.Encoding.Bytes.putFixed64)
+                                                    Prelude..
+                                                    Data.ProtoLens.Encoding.Bytes.doubleToWord)
+                                                   _v)
+                         Data.Monoid.<>
+                         (case
+                            Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'stringValue")
+                              _x
+                            of
+                              (Prelude.Nothing) -> Data.Monoid.mempty
+                              Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                                                   Data.Monoid.<>
+                                                   (\ bs ->
+                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                         (Prelude.fromIntegral
+                                                            (Data.ByteString.length bs)))
+                                                        Data.Monoid.<>
+                                                        Data.ProtoLens.Encoding.Bytes.putBytes bs)
+                                                     _v)
+                           Data.Monoid.<>
+                           (case
+                              Lens.Family2.view
+                                (Data.ProtoLens.Field.field @"maybe'aggregateValue")
+                                _x
+                              of
+                                (Prelude.Nothing) -> Data.Monoid.mempty
+                                Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
+                                                     Data.Monoid.<>
+                                                     (((\ bs ->
+                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             (Prelude.fromIntegral
+                                                                (Data.ByteString.length bs)))
+                                                            Data.Monoid.<>
+                                                            Data.ProtoLens.Encoding.Bytes.putBytes
+                                                              bs))
+                                                        Prelude.. Data.Text.Encoding.encodeUtf8)
+                                                       _v)
+                             Data.Monoid.<>
+                             Data.ProtoLens.Encoding.Wire.buildFieldSet
+                               (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData UninterpretedOption where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq (_UninterpretedOption'_unknownFields x__)
+                 (Control.DeepSeq.deepseq (_UninterpretedOption'name x__)
+                    (Control.DeepSeq.deepseq (_UninterpretedOption'identifierValue x__)
+                       (Control.DeepSeq.deepseq
+                          (_UninterpretedOption'positiveIntValue x__)
+                          (Control.DeepSeq.deepseq
+                             (_UninterpretedOption'negativeIntValue x__)
+                             (Control.DeepSeq.deepseq (_UninterpretedOption'doubleValue x__)
+                                (Control.DeepSeq.deepseq (_UninterpretedOption'stringValue x__)
+                                   (Control.DeepSeq.deepseq
+                                      (_UninterpretedOption'aggregateValue x__)
+                                      (())))))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.namePart' @:: Lens' UninterpretedOption'NamePart Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.isExtension' @:: Lens' UninterpretedOption'NamePart Prelude.Bool@
+ -}
+data UninterpretedOption'NamePart = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
+                                                                 :: !Data.Text.Text,
+                                                                 _UninterpretedOption'NamePart'isExtension
+                                                                 :: !Prelude.Bool,
+                                                                 _UninterpretedOption'NamePart'_unknownFields
+                                                                 :: !Data.ProtoLens.FieldSet}
+                                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show UninterpretedOption'NamePart where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField UninterpretedOption'NamePart
+           "namePart"
+           (Data.Text.Text)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _UninterpretedOption'NamePart'namePart
+               (\ x__ y__ -> x__{_UninterpretedOption'NamePart'namePart = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Field.HasField UninterpretedOption'NamePart
+           "isExtension"
+           (Prelude.Bool)
+         where
+        fieldOf _
+          = (Lens.Family2.Unchecked.lens
+               _UninterpretedOption'NamePart'isExtension
+               (\ x__ y__ ->
+                  x__{_UninterpretedOption'NamePart'isExtension = y__}))
+              Prelude.. Prelude.id
+instance Data.ProtoLens.Message UninterpretedOption'NamePart where
+        messageName _
+          = Data.Text.pack "google.protobuf.UninterpretedOption.NamePart"
+        fieldsByTag
+          = let namePart__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name_part"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
+                         (Data.ProtoLens.Field.field @"namePart"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
+                isExtension__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "is_extension"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
+                         (Data.ProtoLens.Field.field @"isExtension"))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, namePart__field_descriptor),
+                 (Data.ProtoLens.Tag 2, isExtension__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _UninterpretedOption'NamePart'_unknownFields
+              (\ x__ y__ ->
+                 x__{_UninterpretedOption'NamePart'_unknownFields = y__})
+        defMessage
+          = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
+                                           = Data.ProtoLens.fieldDefault,
+                                         _UninterpretedOption'NamePart'isExtension =
+                                           Data.ProtoLens.fieldDefault,
+                                         _UninterpretedOption'NamePart'_unknownFields = ([])}
+        parseMessage
+          = let loop ::
+                     UninterpretedOption'NamePart ->
+                       Prelude.Bool ->
+                         Prelude.Bool ->
+                           Data.ProtoLens.Encoding.Bytes.Parser UninterpretedOption'NamePart
+                loop x required'isExtension required'namePart
+                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+                       if end then
+                         do let missing
+                                  = (if required'isExtension then (:) "is_extension" else
+                                       Prelude.id)
+                                      ((if required'namePart then (:) "name_part" else Prelude.id)
+                                         [])
+                              in
+                              if Prelude.null missing then Prelude.return () else
+                                Prelude.fail
+                                  (("Missing required fields: ") Prelude.++
+                                     Prelude.show (missing :: ([Prelude.String])))
+                            Prelude.return
+                              (Lens.Family2.over Data.ProtoLens.unknownFields
+                                 (\ !t -> Prelude.reverse t)
+                                 x)
+                         else
+                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                            case tag of
+                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                              Data.ProtoLens.Encoding.Bytes.getBytes
+                                                                (Prelude.fromIntegral len)
+                                                  Data.ProtoLens.Encoding.Bytes.runEither
+                                                    (case Data.Text.Encoding.decodeUtf8' value of
+                                                         Prelude.Left err -> Prelude.Left
+                                                                               (Prelude.show err)
+                                                         Prelude.Right r -> Prelude.Right r))
+                                                Data.ProtoLens.Encoding.Bytes.<?> "name_part"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"namePart")
+                                              y
+                                              x)
+                                           required'isExtension
+                                           Prelude.False
+                                16 -> do y <- (Prelude.fmap ((Prelude./=) 0)
+                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                Data.ProtoLens.Encoding.Bytes.<?> "is_extension"
+                                         loop
+                                           (Lens.Family2.set
+                                              (Data.ProtoLens.Field.field @"isExtension")
+                                              y
+                                              x)
+                                           Prelude.False
+                                           required'namePart
+                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                                   wire
+                                           loop
+                                             (Lens.Family2.over Data.ProtoLens.unknownFields
+                                                (\ !t -> (:) y t)
+                                                x)
+                                             required'isExtension
+                                             required'namePart
+              in
+              (do loop Data.ProtoLens.defMessage Prelude.True Prelude.True)
+                Data.ProtoLens.Encoding.Bytes.<?> "NamePart"
+        buildMessage
+          = (\ _x ->
+               ((Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
+                  (((\ bs ->
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                         Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                     Prelude.. Data.Text.Encoding.encodeUtf8)
+                    (Lens.Family2.view (Data.ProtoLens.Field.field @"namePart") _x))
+                 Data.Monoid.<>
+                 ((Data.ProtoLens.Encoding.Bytes.putVarInt 16) Data.Monoid.<>
+                    ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
+                       (\ b -> if b then 1 else 0))
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"isExtension") _x))
+                   Data.Monoid.<>
+                   Data.ProtoLens.Encoding.Wire.buildFieldSet
+                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData UninterpretedOption'NamePart where
+        rnf
+          = (\ x__ ->
+               Control.DeepSeq.deepseq
+                 (_UninterpretedOption'NamePart'_unknownFields x__)
+                 (Control.DeepSeq.deepseq
+                    (_UninterpretedOption'NamePart'namePart x__)
+                    (Control.DeepSeq.deepseq
+                       (_UninterpretedOption'NamePart'isExtension x__)
+                       (()))))
diff --git a/src/Proto/Google/Protobuf/Descriptor_Fields.hs b/src/Proto/Google/Protobuf/Descriptor_Fields.hs
--- a/src/Proto/Google/Protobuf/Descriptor_Fields.hs
+++ b/src/Proto/Google/Protobuf/Descriptor_Fields.hs
@@ -2,1096 +2,1045 @@
 {-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
   UndecidableInstances, GeneralizedNewtypeDeriving,
   MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Descriptor_Fields where
-import qualified Prelude
-import qualified Data.Int
-import qualified Data.Word
-import qualified Data.ProtoLens
-import qualified Data.ProtoLens.Message.Enum
-import qualified Data.ProtoLens.Service.Types
-import qualified Lens.Family2
-import qualified Lens.Family2.Unchecked
-import qualified Data.Text
-import qualified Data.Map
-import qualified Data.ByteString
-import qualified Data.ByteString.Char8
-import qualified Lens.Labels
-import qualified Text.Read
-
-aggregateValue ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "aggregateValue" a) =>
-                 Lens.Family2.LensLike' f s a
-aggregateValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "aggregateValue")
-allowAlias ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "allowAlias" a) =>
-             Lens.Family2.LensLike' f s a
-allowAlias
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "allowAlias")
-annotation ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "annotation" a) =>
-             Lens.Family2.LensLike' f s a
-annotation
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")
-begin ::
-      forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "begin" a) =>
-        Lens.Family2.LensLike' f s a
-begin
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "begin")
-ccEnableArenas ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "ccEnableArenas" a) =>
-                 Lens.Family2.LensLike' f s a
-ccEnableArenas
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccEnableArenas")
-ccGenericServices ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "ccGenericServices" a) =>
-                    Lens.Family2.LensLike' f s a
-ccGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccGenericServices")
-clientStreaming ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "clientStreaming" a) =>
-                  Lens.Family2.LensLike' f s a
-clientStreaming
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "clientStreaming")
-csharpNamespace ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "csharpNamespace" a) =>
-                  Lens.Family2.LensLike' f s a
-csharpNamespace
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "csharpNamespace")
-ctype ::
-      forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "ctype" a) =>
-        Lens.Family2.LensLike' f s a
-ctype
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ctype")
-defaultValue ::
-             forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "defaultValue" a) =>
-               Lens.Family2.LensLike' f s a
-defaultValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "defaultValue")
-dependency ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "dependency" a) =>
-             Lens.Family2.LensLike' f s a
-dependency
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")
-deprecated ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "deprecated" a) =>
-             Lens.Family2.LensLike' f s a
-deprecated
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "deprecated")
-doubleValue ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "doubleValue" a) =>
-              Lens.Family2.LensLike' f s a
-doubleValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "doubleValue")
-end ::
-    forall f s a .
-      (Prelude.Functor f, Lens.Labels.HasLens' s "end" a) =>
-      Lens.Family2.LensLike' f s a
-end
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "end")
-enumType ::
-         forall f s a .
-           (Prelude.Functor f, Lens.Labels.HasLens' s "enumType" a) =>
-           Lens.Family2.LensLike' f s a
-enumType
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")
-extendee ::
-         forall f s a .
-           (Prelude.Functor f, Lens.Labels.HasLens' s "extendee" a) =>
-           Lens.Family2.LensLike' f s a
-extendee
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extendee")
-extension ::
-          forall f s a .
-            (Prelude.Functor f, Lens.Labels.HasLens' s "extension" a) =>
-            Lens.Family2.LensLike' f s a
-extension
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")
-extensionRange ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "extensionRange" a) =>
-                 Lens.Family2.LensLike' f s a
-extensionRange
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")
-field ::
-      forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "field" a) =>
-        Lens.Family2.LensLike' f s a
-field
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")
-file ::
-     forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "file" a) =>
-       Lens.Family2.LensLike' f s a
-file
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")
-goPackage ::
-          forall f s a .
-            (Prelude.Functor f, Lens.Labels.HasLens' s "goPackage" a) =>
-            Lens.Family2.LensLike' f s a
-goPackage
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "goPackage")
-idempotencyLevel ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "idempotencyLevel" a) =>
-                   Lens.Family2.LensLike' f s a
-idempotencyLevel
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "idempotencyLevel")
-identifierValue ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "identifierValue" a) =>
-                  Lens.Family2.LensLike' f s a
-identifierValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "identifierValue")
-inputType ::
-          forall f s a .
-            (Prelude.Functor f, Lens.Labels.HasLens' s "inputType" a) =>
-            Lens.Family2.LensLike' f s a
-inputType
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "inputType")
-isExtension ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "isExtension" a) =>
-              Lens.Family2.LensLike' f s a
-isExtension
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")
-javaGenerateEqualsAndHash ::
-                          forall f s a .
-                            (Prelude.Functor f,
-                             Lens.Labels.HasLens' s "javaGenerateEqualsAndHash" a) =>
-                            Lens.Family2.LensLike' f s a
-javaGenerateEqualsAndHash
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "javaGenerateEqualsAndHash")
-javaGenericServices ::
-                    forall f s a .
-                      (Prelude.Functor f,
-                       Lens.Labels.HasLens' s "javaGenericServices" a) =>
-                      Lens.Family2.LensLike' f s a
-javaGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "javaGenericServices")
-javaMultipleFiles ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "javaMultipleFiles" a) =>
-                    Lens.Family2.LensLike' f s a
-javaMultipleFiles
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaMultipleFiles")
-javaOuterClassname ::
-                   forall f s a .
-                     (Prelude.Functor f,
-                      Lens.Labels.HasLens' s "javaOuterClassname" a) =>
-                     Lens.Family2.LensLike' f s a
-javaOuterClassname
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaOuterClassname")
-javaPackage ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "javaPackage" a) =>
-              Lens.Family2.LensLike' f s a
-javaPackage
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaPackage")
-javaStringCheckUtf8 ::
-                    forall f s a .
-                      (Prelude.Functor f,
-                       Lens.Labels.HasLens' s "javaStringCheckUtf8" a) =>
-                      Lens.Family2.LensLike' f s a
-javaStringCheckUtf8
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "javaStringCheckUtf8")
-jsonName ::
-         forall f s a .
-           (Prelude.Functor f, Lens.Labels.HasLens' s "jsonName" a) =>
-           Lens.Family2.LensLike' f s a
-jsonName
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jsonName")
-jstype ::
-       forall f s a .
-         (Prelude.Functor f, Lens.Labels.HasLens' s "jstype" a) =>
-         Lens.Family2.LensLike' f s a
-jstype
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jstype")
-label ::
-      forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "label" a) =>
-        Lens.Family2.LensLike' f s a
-label
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "label")
-lazy ::
-     forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "lazy" a) =>
-       Lens.Family2.LensLike' f s a
-lazy
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "lazy")
-leadingComments ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "leadingComments" a) =>
-                  Lens.Family2.LensLike' f s a
-leadingComments
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "leadingComments")
-leadingDetachedComments ::
-                        forall f s a .
-                          (Prelude.Functor f,
-                           Lens.Labels.HasLens' s "leadingDetachedComments" a) =>
-                          Lens.Family2.LensLike' f s a
-leadingDetachedComments
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "leadingDetachedComments")
-location ::
-         forall f s a .
-           (Prelude.Functor f, Lens.Labels.HasLens' s "location" a) =>
-           Lens.Family2.LensLike' f s a
-location
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")
-mapEntry ::
-         forall f s a .
-           (Prelude.Functor f, Lens.Labels.HasLens' s "mapEntry" a) =>
-           Lens.Family2.LensLike' f s a
-mapEntry
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "mapEntry")
-maybe'aggregateValue ::
-                     forall f s a .
-                       (Prelude.Functor f,
-                        Lens.Labels.HasLens' s "maybe'aggregateValue" a) =>
-                       Lens.Family2.LensLike' f s a
-maybe'aggregateValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'aggregateValue")
-maybe'allowAlias ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'allowAlias" a) =>
-                   Lens.Family2.LensLike' f s a
-maybe'allowAlias
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")
-maybe'begin ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'begin" a) =>
-              Lens.Family2.LensLike' f s a
-maybe'begin
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")
-maybe'ccEnableArenas ::
-                     forall f s a .
-                       (Prelude.Functor f,
-                        Lens.Labels.HasLens' s "maybe'ccEnableArenas" a) =>
-                       Lens.Family2.LensLike' f s a
-maybe'ccEnableArenas
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'ccEnableArenas")
-maybe'ccGenericServices ::
-                        forall f s a .
-                          (Prelude.Functor f,
-                           Lens.Labels.HasLens' s "maybe'ccGenericServices" a) =>
-                          Lens.Family2.LensLike' f s a
-maybe'ccGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'ccGenericServices")
-maybe'clientStreaming ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Lens.Labels.HasLens' s "maybe'clientStreaming" a) =>
-                        Lens.Family2.LensLike' f s a
-maybe'clientStreaming
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'clientStreaming")
-maybe'csharpNamespace ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Lens.Labels.HasLens' s "maybe'csharpNamespace" a) =>
-                        Lens.Family2.LensLike' f s a
-maybe'csharpNamespace
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'csharpNamespace")
-maybe'ctype ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'ctype" a) =>
-              Lens.Family2.LensLike' f s a
-maybe'ctype
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")
-maybe'defaultValue ::
-                   forall f s a .
-                     (Prelude.Functor f,
-                      Lens.Labels.HasLens' s "maybe'defaultValue" a) =>
-                     Lens.Family2.LensLike' f s a
-maybe'defaultValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'defaultValue")
-maybe'deprecated ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'deprecated" a) =>
-                   Lens.Family2.LensLike' f s a
-maybe'deprecated
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")
-maybe'doubleValue ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "maybe'doubleValue" a) =>
-                    Lens.Family2.LensLike' f s a
-maybe'doubleValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'doubleValue")
-maybe'end ::
-          forall f s a .
-            (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'end" a) =>
-            Lens.Family2.LensLike' f s a
-maybe'end
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")
-maybe'extendee ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'extendee" a) =>
-                 Lens.Family2.LensLike' f s a
-maybe'extendee
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")
-maybe'goPackage ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'goPackage" a) =>
-                  Lens.Family2.LensLike' f s a
-maybe'goPackage
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")
-maybe'idempotencyLevel ::
-                       forall f s a .
-                         (Prelude.Functor f,
-                          Lens.Labels.HasLens' s "maybe'idempotencyLevel" a) =>
-                         Lens.Family2.LensLike' f s a
-maybe'idempotencyLevel
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'idempotencyLevel")
-maybe'identifierValue ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Lens.Labels.HasLens' s "maybe'identifierValue" a) =>
-                        Lens.Family2.LensLike' f s a
-maybe'identifierValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'identifierValue")
-maybe'inputType ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'inputType" a) =>
-                  Lens.Family2.LensLike' f s a
-maybe'inputType
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")
-maybe'javaGenerateEqualsAndHash ::
-                                forall f s a .
-                                  (Prelude.Functor f,
-                                   Lens.Labels.HasLens' s "maybe'javaGenerateEqualsAndHash" a) =>
-                                  Lens.Family2.LensLike' f s a
-maybe'javaGenerateEqualsAndHash
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")
-maybe'javaGenericServices ::
-                          forall f s a .
-                            (Prelude.Functor f,
-                             Lens.Labels.HasLens' s "maybe'javaGenericServices" a) =>
-                            Lens.Family2.LensLike' f s a
-maybe'javaGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaGenericServices")
-maybe'javaMultipleFiles ::
-                        forall f s a .
-                          (Prelude.Functor f,
-                           Lens.Labels.HasLens' s "maybe'javaMultipleFiles" a) =>
-                          Lens.Family2.LensLike' f s a
-maybe'javaMultipleFiles
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")
-maybe'javaOuterClassname ::
-                         forall f s a .
-                           (Prelude.Functor f,
-                            Lens.Labels.HasLens' s "maybe'javaOuterClassname" a) =>
-                           Lens.Family2.LensLike' f s a
-maybe'javaOuterClassname
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaOuterClassname")
-maybe'javaPackage ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "maybe'javaPackage" a) =>
-                    Lens.Family2.LensLike' f s a
-maybe'javaPackage
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'javaPackage")
-maybe'javaStringCheckUtf8 ::
-                          forall f s a .
-                            (Prelude.Functor f,
-                             Lens.Labels.HasLens' s "maybe'javaStringCheckUtf8" a) =>
-                            Lens.Family2.LensLike' f s a
-maybe'javaStringCheckUtf8
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")
-maybe'jsonName ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'jsonName" a) =>
-                 Lens.Family2.LensLike' f s a
-maybe'jsonName
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")
-maybe'jstype ::
-             forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'jstype" a) =>
-               Lens.Family2.LensLike' f s a
-maybe'jstype
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")
-maybe'label ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'label" a) =>
-              Lens.Family2.LensLike' f s a
-maybe'label
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")
-maybe'lazy ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'lazy" a) =>
-             Lens.Family2.LensLike' f s a
-maybe'lazy
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")
-maybe'leadingComments ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Lens.Labels.HasLens' s "maybe'leadingComments" a) =>
-                        Lens.Family2.LensLike' f s a
-maybe'leadingComments
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'leadingComments")
-maybe'mapEntry ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'mapEntry" a) =>
-                 Lens.Family2.LensLike' f s a
-maybe'mapEntry
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")
-maybe'messageSetWireFormat ::
-                           forall f s a .
-                             (Prelude.Functor f,
-                              Lens.Labels.HasLens' s "maybe'messageSetWireFormat" a) =>
-                             Lens.Family2.LensLike' f s a
-maybe'messageSetWireFormat
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")
-maybe'name ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'name" a) =>
-             Lens.Family2.LensLike' f s a
-maybe'name
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")
-maybe'negativeIntValue ::
-                       forall f s a .
-                         (Prelude.Functor f,
-                          Lens.Labels.HasLens' s "maybe'negativeIntValue" a) =>
-                         Lens.Family2.LensLike' f s a
-maybe'negativeIntValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'negativeIntValue")
-maybe'noStandardDescriptorAccessor ::
-                                   forall f s a .
-                                     (Prelude.Functor f,
-                                      Lens.Labels.HasLens' s "maybe'noStandardDescriptorAccessor"
-                                        a) =>
-                                     Lens.Family2.LensLike' f s a
-maybe'noStandardDescriptorAccessor
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")
-maybe'number ::
-             forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'number" a) =>
-               Lens.Family2.LensLike' f s a
-maybe'number
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")
-maybe'objcClassPrefix ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Lens.Labels.HasLens' s "maybe'objcClassPrefix" a) =>
-                        Lens.Family2.LensLike' f s a
-maybe'objcClassPrefix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'objcClassPrefix")
-maybe'oneofIndex ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'oneofIndex" a) =>
-                   Lens.Family2.LensLike' f s a
-maybe'oneofIndex
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")
-maybe'optimizeFor ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "maybe'optimizeFor" a) =>
-                    Lens.Family2.LensLike' f s a
-maybe'optimizeFor
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'optimizeFor")
-maybe'options ::
-              forall f s a .
-                (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'options" a) =>
-                Lens.Family2.LensLike' f s a
-maybe'options
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")
-maybe'outputType ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'outputType" a) =>
-                   Lens.Family2.LensLike' f s a
-maybe'outputType
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")
-maybe'package ::
-              forall f s a .
-                (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'package" a) =>
-                Lens.Family2.LensLike' f s a
-maybe'package
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")
-maybe'packed ::
-             forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'packed" a) =>
-               Lens.Family2.LensLike' f s a
-maybe'packed
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")
-maybe'phpClassPrefix ::
-                     forall f s a .
-                       (Prelude.Functor f,
-                        Lens.Labels.HasLens' s "maybe'phpClassPrefix" a) =>
-                       Lens.Family2.LensLike' f s a
-maybe'phpClassPrefix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'phpClassPrefix")
-maybe'phpGenericServices ::
-                         forall f s a .
-                           (Prelude.Functor f,
-                            Lens.Labels.HasLens' s "maybe'phpGenericServices" a) =>
-                           Lens.Family2.LensLike' f s a
-maybe'phpGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'phpGenericServices")
-maybe'phpMetadataNamespace ::
-                           forall f s a .
-                             (Prelude.Functor f,
-                              Lens.Labels.HasLens' s "maybe'phpMetadataNamespace" a) =>
-                             Lens.Family2.LensLike' f s a
-maybe'phpMetadataNamespace
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'phpMetadataNamespace")
-maybe'phpNamespace ::
-                   forall f s a .
-                     (Prelude.Functor f,
-                      Lens.Labels.HasLens' s "maybe'phpNamespace" a) =>
-                     Lens.Family2.LensLike' f s a
-maybe'phpNamespace
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'phpNamespace")
-maybe'positiveIntValue ::
-                       forall f s a .
-                         (Prelude.Functor f,
-                          Lens.Labels.HasLens' s "maybe'positiveIntValue" a) =>
-                         Lens.Family2.LensLike' f s a
-maybe'positiveIntValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'positiveIntValue")
-maybe'pyGenericServices ::
-                        forall f s a .
-                          (Prelude.Functor f,
-                           Lens.Labels.HasLens' s "maybe'pyGenericServices" a) =>
-                          Lens.Family2.LensLike' f s a
-maybe'pyGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'pyGenericServices")
-maybe'rubyPackage ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "maybe'rubyPackage" a) =>
-                    Lens.Family2.LensLike' f s a
-maybe'rubyPackage
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'rubyPackage")
-maybe'serverStreaming ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Lens.Labels.HasLens' s "maybe'serverStreaming" a) =>
-                        Lens.Family2.LensLike' f s a
-maybe'serverStreaming
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'serverStreaming")
-maybe'sourceCodeInfo ::
-                     forall f s a .
-                       (Prelude.Functor f,
-                        Lens.Labels.HasLens' s "maybe'sourceCodeInfo" a) =>
-                       Lens.Family2.LensLike' f s a
-maybe'sourceCodeInfo
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")
-maybe'sourceFile ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'sourceFile" a) =>
-                   Lens.Family2.LensLike' f s a
-maybe'sourceFile
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")
-maybe'start ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'start" a) =>
-              Lens.Family2.LensLike' f s a
-maybe'start
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")
-maybe'stringValue ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "maybe'stringValue" a) =>
-                    Lens.Family2.LensLike' f s a
-maybe'stringValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'stringValue")
-maybe'swiftPrefix ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "maybe'swiftPrefix" a) =>
-                    Lens.Family2.LensLike' f s a
-maybe'swiftPrefix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'swiftPrefix")
-maybe'syntax ::
-             forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'syntax" a) =>
-               Lens.Family2.LensLike' f s a
-maybe'syntax
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")
-maybe'trailingComments ::
-                       forall f s a .
-                         (Prelude.Functor f,
-                          Lens.Labels.HasLens' s "maybe'trailingComments" a) =>
-                         Lens.Family2.LensLike' f s a
-maybe'trailingComments
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'trailingComments")
-maybe'type' ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'type'" a) =>
-              Lens.Family2.LensLike' f s a
-maybe'type'
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")
-maybe'typeName ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'typeName" a) =>
-                 Lens.Family2.LensLike' f s a
-maybe'typeName
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")
-maybe'weak ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'weak" a) =>
-             Lens.Family2.LensLike' f s a
-maybe'weak
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")
-messageSetWireFormat ::
-                     forall f s a .
-                       (Prelude.Functor f,
-                        Lens.Labels.HasLens' s "messageSetWireFormat" a) =>
-                       Lens.Family2.LensLike' f s a
-messageSetWireFormat
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "messageSetWireFormat")
-messageType ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "messageType" a) =>
-              Lens.Family2.LensLike' f s a
-messageType
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")
-method ::
-       forall f s a .
-         (Prelude.Functor f, Lens.Labels.HasLens' s "method" a) =>
-         Lens.Family2.LensLike' f s a
-method
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")
-name ::
-     forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "name" a) =>
-       Lens.Family2.LensLike' f s a
-name
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")
-namePart ::
-         forall f s a .
-           (Prelude.Functor f, Lens.Labels.HasLens' s "namePart" a) =>
-           Lens.Family2.LensLike' f s a
-namePart
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")
-negativeIntValue ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "negativeIntValue" a) =>
-                   Lens.Family2.LensLike' f s a
-negativeIntValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "negativeIntValue")
-nestedType ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "nestedType" a) =>
-             Lens.Family2.LensLike' f s a
-nestedType
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")
-noStandardDescriptorAccessor ::
-                             forall f s a .
-                               (Prelude.Functor f,
-                                Lens.Labels.HasLens' s "noStandardDescriptorAccessor" a) =>
-                               Lens.Family2.LensLike' f s a
-noStandardDescriptorAccessor
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "noStandardDescriptorAccessor")
-number ::
-       forall f s a .
-         (Prelude.Functor f, Lens.Labels.HasLens' s "number" a) =>
-         Lens.Family2.LensLike' f s a
-number
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "number")
-objcClassPrefix ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "objcClassPrefix" a) =>
-                  Lens.Family2.LensLike' f s a
-objcClassPrefix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "objcClassPrefix")
-oneofDecl ::
-          forall f s a .
-            (Prelude.Functor f, Lens.Labels.HasLens' s "oneofDecl" a) =>
-            Lens.Family2.LensLike' f s a
-oneofDecl
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")
-oneofIndex ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "oneofIndex" a) =>
-             Lens.Family2.LensLike' f s a
-oneofIndex
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofIndex")
-optimizeFor ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "optimizeFor" a) =>
-              Lens.Family2.LensLike' f s a
-optimizeFor
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "optimizeFor")
-options ::
-        forall f s a .
-          (Prelude.Functor f, Lens.Labels.HasLens' s "options" a) =>
-          Lens.Family2.LensLike' f s a
-options
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "options")
-outputType ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "outputType" a) =>
-             Lens.Family2.LensLike' f s a
-outputType
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "outputType")
-package ::
-        forall f s a .
-          (Prelude.Functor f, Lens.Labels.HasLens' s "package" a) =>
-          Lens.Family2.LensLike' f s a
-package
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "package")
-packed ::
-       forall f s a .
-         (Prelude.Functor f, Lens.Labels.HasLens' s "packed" a) =>
-         Lens.Family2.LensLike' f s a
-packed
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "packed")
-path ::
-     forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "path" a) =>
-       Lens.Family2.LensLike' f s a
-path
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")
-phpClassPrefix ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "phpClassPrefix" a) =>
-                 Lens.Family2.LensLike' f s a
-phpClassPrefix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "phpClassPrefix")
-phpGenericServices ::
-                   forall f s a .
-                     (Prelude.Functor f,
-                      Lens.Labels.HasLens' s "phpGenericServices" a) =>
-                     Lens.Family2.LensLike' f s a
-phpGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "phpGenericServices")
-phpMetadataNamespace ::
-                     forall f s a .
-                       (Prelude.Functor f,
-                        Lens.Labels.HasLens' s "phpMetadataNamespace" a) =>
-                       Lens.Family2.LensLike' f s a
-phpMetadataNamespace
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "phpMetadataNamespace")
-phpNamespace ::
-             forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "phpNamespace" a) =>
-               Lens.Family2.LensLike' f s a
-phpNamespace
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "phpNamespace")
-positiveIntValue ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "positiveIntValue" a) =>
-                   Lens.Family2.LensLike' f s a
-positiveIntValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "positiveIntValue")
-publicDependency ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "publicDependency" a) =>
-                   Lens.Family2.LensLike' f s a
-publicDependency
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")
-pyGenericServices ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Lens.Labels.HasLens' s "pyGenericServices" a) =>
-                    Lens.Family2.LensLike' f s a
-pyGenericServices
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "pyGenericServices")
-reservedName ::
-             forall f s a .
-               (Prelude.Functor f, Lens.Labels.HasLens' s "reservedName" a) =>
-               Lens.Family2.LensLike' f s a
-reservedName
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")
-reservedRange ::
-              forall f s a .
-                (Prelude.Functor f, Lens.Labels.HasLens' s "reservedRange" a) =>
-                Lens.Family2.LensLike' f s a
-reservedRange
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")
-rubyPackage ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "rubyPackage" a) =>
-              Lens.Family2.LensLike' f s a
-rubyPackage
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "rubyPackage")
-serverStreaming ::
-                forall f s a .
-                  (Prelude.Functor f, Lens.Labels.HasLens' s "serverStreaming" a) =>
-                  Lens.Family2.LensLike' f s a
-serverStreaming
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "serverStreaming")
-service ::
-        forall f s a .
-          (Prelude.Functor f, Lens.Labels.HasLens' s "service" a) =>
-          Lens.Family2.LensLike' f s a
-service
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")
-sourceCodeInfo ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "sourceCodeInfo" a) =>
-                 Lens.Family2.LensLike' f s a
-sourceCodeInfo
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceCodeInfo")
-sourceFile ::
-           forall f s a .
-             (Prelude.Functor f, Lens.Labels.HasLens' s "sourceFile" a) =>
-             Lens.Family2.LensLike' f s a
-sourceFile
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceFile")
-span ::
-     forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "span" a) =>
-       Lens.Family2.LensLike' f s a
-span
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")
-start ::
-      forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "start" a) =>
-        Lens.Family2.LensLike' f s a
-start
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "start")
-stringValue ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "stringValue" a) =>
-              Lens.Family2.LensLike' f s a
-stringValue
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "stringValue")
-swiftPrefix ::
-            forall f s a .
-              (Prelude.Functor f, Lens.Labels.HasLens' s "swiftPrefix" a) =>
-              Lens.Family2.LensLike' f s a
-swiftPrefix
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "swiftPrefix")
-syntax ::
-       forall f s a .
-         (Prelude.Functor f, Lens.Labels.HasLens' s "syntax" a) =>
-         Lens.Family2.LensLike' f s a
-syntax
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "syntax")
-trailingComments ::
-                 forall f s a .
-                   (Prelude.Functor f, Lens.Labels.HasLens' s "trailingComments" a) =>
-                   Lens.Family2.LensLike' f s a
-trailingComments
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "trailingComments")
-type' ::
-      forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "type'" a) =>
-        Lens.Family2.LensLike' f s a
-type'
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "type'")
-typeName ::
-         forall f s a .
-           (Prelude.Functor f, Lens.Labels.HasLens' s "typeName" a) =>
-           Lens.Family2.LensLike' f s a
-typeName
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "typeName")
-uninterpretedOption ::
-                    forall f s a .
-                      (Prelude.Functor f,
-                       Lens.Labels.HasLens' s "uninterpretedOption" a) =>
-                      Lens.Family2.LensLike' f s a
-uninterpretedOption
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "uninterpretedOption")
-value ::
-      forall f s a .
-        (Prelude.Functor f, Lens.Labels.HasLens' s "value" a) =>
-        Lens.Family2.LensLike' f s a
-value
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")
-weak ::
-     forall f s a .
-       (Prelude.Functor f, Lens.Labels.HasLens' s "weak" a) =>
-       Lens.Family2.LensLike' f s a
-weak
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weak")
-weakDependency ::
-               forall f s a .
-                 (Prelude.Functor f, Lens.Labels.HasLens' s "weakDependency" a) =>
-                 Lens.Family2.LensLike' f s a
-weakDependency
-  = Lens.Labels.lensOf'
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weakDependency")
+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
+  BangPatterns, TypeApplications #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports#-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
+module Proto.Google.Protobuf.Descriptor_Fields where
+import qualified Prelude
+import qualified Data.Int
+import qualified Data.Monoid
+import qualified Data.Word
+import qualified Data.ProtoLens
+import qualified Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Field
+import qualified Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Service.Types
+import qualified Lens.Family2
+import qualified Lens.Family2.Unchecked
+import qualified Data.Text
+import qualified Data.Map
+import qualified Data.ByteString
+import qualified Data.ByteString.Char8
+import qualified Data.Text.Encoding
+import qualified Data.Vector
+import qualified Data.Vector.Generic
+import qualified Data.Vector.Unboxed
+import qualified Text.Read
+
+aggregateValue ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "aggregateValue" a) =>
+                 Lens.Family2.LensLike' f s a
+aggregateValue = Data.ProtoLens.Field.field @"aggregateValue"
+allowAlias ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "allowAlias" a) =>
+             Lens.Family2.LensLike' f s a
+allowAlias = Data.ProtoLens.Field.field @"allowAlias"
+annotation ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "annotation" a) =>
+             Lens.Family2.LensLike' f s a
+annotation = Data.ProtoLens.Field.field @"annotation"
+begin ::
+      forall f s a .
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "begin" a) =>
+        Lens.Family2.LensLike' f s a
+begin = Data.ProtoLens.Field.field @"begin"
+ccEnableArenas ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "ccEnableArenas" a) =>
+                 Lens.Family2.LensLike' f s a
+ccEnableArenas = Data.ProtoLens.Field.field @"ccEnableArenas"
+ccGenericServices ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "ccGenericServices" a) =>
+                    Lens.Family2.LensLike' f s a
+ccGenericServices = Data.ProtoLens.Field.field @"ccGenericServices"
+clientStreaming ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "clientStreaming" a) =>
+                  Lens.Family2.LensLike' f s a
+clientStreaming = Data.ProtoLens.Field.field @"clientStreaming"
+csharpNamespace ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "csharpNamespace" a) =>
+                  Lens.Family2.LensLike' f s a
+csharpNamespace = Data.ProtoLens.Field.field @"csharpNamespace"
+ctype ::
+      forall f s a .
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "ctype" a) =>
+        Lens.Family2.LensLike' f s a
+ctype = Data.ProtoLens.Field.field @"ctype"
+defaultValue ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "defaultValue" a) =>
+               Lens.Family2.LensLike' f s a
+defaultValue = Data.ProtoLens.Field.field @"defaultValue"
+dependency ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "dependency" a) =>
+             Lens.Family2.LensLike' f s a
+dependency = Data.ProtoLens.Field.field @"dependency"
+deprecated ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "deprecated" a) =>
+             Lens.Family2.LensLike' f s a
+deprecated = Data.ProtoLens.Field.field @"deprecated"
+doubleValue ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "doubleValue" a) =>
+              Lens.Family2.LensLike' f s a
+doubleValue = Data.ProtoLens.Field.field @"doubleValue"
+end ::
+    forall f s a .
+      (Prelude.Functor f, Data.ProtoLens.Field.HasField s "end" a) =>
+      Lens.Family2.LensLike' f s a
+end = Data.ProtoLens.Field.field @"end"
+enumType ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "enumType" a) =>
+           Lens.Family2.LensLike' f s a
+enumType = Data.ProtoLens.Field.field @"enumType"
+extendee ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "extendee" a) =>
+           Lens.Family2.LensLike' f s a
+extendee = Data.ProtoLens.Field.field @"extendee"
+extension ::
+          forall f s a .
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "extension" a) =>
+            Lens.Family2.LensLike' f s a
+extension = Data.ProtoLens.Field.field @"extension"
+extensionRange ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "extensionRange" a) =>
+                 Lens.Family2.LensLike' f s a
+extensionRange = Data.ProtoLens.Field.field @"extensionRange"
+field ::
+      forall f s a .
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "field" a) =>
+        Lens.Family2.LensLike' f s a
+field = Data.ProtoLens.Field.field @"field"
+file ::
+     forall f s a .
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "file" a) =>
+       Lens.Family2.LensLike' f s a
+file = Data.ProtoLens.Field.field @"file"
+goPackage ::
+          forall f s a .
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "goPackage" a) =>
+            Lens.Family2.LensLike' f s a
+goPackage = Data.ProtoLens.Field.field @"goPackage"
+idempotencyLevel ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "idempotencyLevel" a) =>
+                   Lens.Family2.LensLike' f s a
+idempotencyLevel = Data.ProtoLens.Field.field @"idempotencyLevel"
+identifierValue ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "identifierValue" a) =>
+                  Lens.Family2.LensLike' f s a
+identifierValue = Data.ProtoLens.Field.field @"identifierValue"
+inputType ::
+          forall f s a .
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "inputType" a) =>
+            Lens.Family2.LensLike' f s a
+inputType = Data.ProtoLens.Field.field @"inputType"
+isExtension ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "isExtension" a) =>
+              Lens.Family2.LensLike' f s a
+isExtension = Data.ProtoLens.Field.field @"isExtension"
+javaGenerateEqualsAndHash ::
+                          forall f s a .
+                            (Prelude.Functor f,
+                             Data.ProtoLens.Field.HasField s "javaGenerateEqualsAndHash" a) =>
+                            Lens.Family2.LensLike' f s a
+javaGenerateEqualsAndHash
+  = Data.ProtoLens.Field.field @"javaGenerateEqualsAndHash"
+javaGenericServices ::
+                    forall f s a .
+                      (Prelude.Functor f,
+                       Data.ProtoLens.Field.HasField s "javaGenericServices" a) =>
+                      Lens.Family2.LensLike' f s a
+javaGenericServices
+  = Data.ProtoLens.Field.field @"javaGenericServices"
+javaMultipleFiles ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "javaMultipleFiles" a) =>
+                    Lens.Family2.LensLike' f s a
+javaMultipleFiles = Data.ProtoLens.Field.field @"javaMultipleFiles"
+javaOuterClassname ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Data.ProtoLens.Field.HasField s "javaOuterClassname" a) =>
+                     Lens.Family2.LensLike' f s a
+javaOuterClassname
+  = Data.ProtoLens.Field.field @"javaOuterClassname"
+javaPackage ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "javaPackage" a) =>
+              Lens.Family2.LensLike' f s a
+javaPackage = Data.ProtoLens.Field.field @"javaPackage"
+javaStringCheckUtf8 ::
+                    forall f s a .
+                      (Prelude.Functor f,
+                       Data.ProtoLens.Field.HasField s "javaStringCheckUtf8" a) =>
+                      Lens.Family2.LensLike' f s a
+javaStringCheckUtf8
+  = Data.ProtoLens.Field.field @"javaStringCheckUtf8"
+jsonName ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "jsonName" a) =>
+           Lens.Family2.LensLike' f s a
+jsonName = Data.ProtoLens.Field.field @"jsonName"
+jstype ::
+       forall f s a .
+         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "jstype" a) =>
+         Lens.Family2.LensLike' f s a
+jstype = Data.ProtoLens.Field.field @"jstype"
+label ::
+      forall f s a .
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "label" a) =>
+        Lens.Family2.LensLike' f s a
+label = Data.ProtoLens.Field.field @"label"
+lazy ::
+     forall f s a .
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "lazy" a) =>
+       Lens.Family2.LensLike' f s a
+lazy = Data.ProtoLens.Field.field @"lazy"
+leadingComments ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "leadingComments" a) =>
+                  Lens.Family2.LensLike' f s a
+leadingComments = Data.ProtoLens.Field.field @"leadingComments"
+leadingDetachedComments ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Data.ProtoLens.Field.HasField s "leadingDetachedComments" a) =>
+                          Lens.Family2.LensLike' f s a
+leadingDetachedComments
+  = Data.ProtoLens.Field.field @"leadingDetachedComments"
+location ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "location" a) =>
+           Lens.Family2.LensLike' f s a
+location = Data.ProtoLens.Field.field @"location"
+mapEntry ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "mapEntry" a) =>
+           Lens.Family2.LensLike' f s a
+mapEntry = Data.ProtoLens.Field.field @"mapEntry"
+maybe'aggregateValue ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Data.ProtoLens.Field.HasField s "maybe'aggregateValue" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'aggregateValue
+  = Data.ProtoLens.Field.field @"maybe'aggregateValue"
+maybe'allowAlias ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "maybe'allowAlias" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'allowAlias = Data.ProtoLens.Field.field @"maybe'allowAlias"
+maybe'begin ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'begin" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'begin = Data.ProtoLens.Field.field @"maybe'begin"
+maybe'ccEnableArenas ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Data.ProtoLens.Field.HasField s "maybe'ccEnableArenas" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'ccEnableArenas
+  = Data.ProtoLens.Field.field @"maybe'ccEnableArenas"
+maybe'ccGenericServices ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Data.ProtoLens.Field.HasField s "maybe'ccGenericServices" a) =>
+                          Lens.Family2.LensLike' f s a
+maybe'ccGenericServices
+  = Data.ProtoLens.Field.field @"maybe'ccGenericServices"
+maybe'clientStreaming ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Data.ProtoLens.Field.HasField s "maybe'clientStreaming" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'clientStreaming
+  = Data.ProtoLens.Field.field @"maybe'clientStreaming"
+maybe'csharpNamespace ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Data.ProtoLens.Field.HasField s "maybe'csharpNamespace" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'csharpNamespace
+  = Data.ProtoLens.Field.field @"maybe'csharpNamespace"
+maybe'ctype ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'ctype" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'ctype = Data.ProtoLens.Field.field @"maybe'ctype"
+maybe'defaultValue ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Data.ProtoLens.Field.HasField s "maybe'defaultValue" a) =>
+                     Lens.Family2.LensLike' f s a
+maybe'defaultValue
+  = Data.ProtoLens.Field.field @"maybe'defaultValue"
+maybe'deprecated ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "maybe'deprecated" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'deprecated = Data.ProtoLens.Field.field @"maybe'deprecated"
+maybe'doubleValue ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "maybe'doubleValue" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'doubleValue = Data.ProtoLens.Field.field @"maybe'doubleValue"
+maybe'end ::
+          forall f s a .
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "maybe'end" a) =>
+            Lens.Family2.LensLike' f s a
+maybe'end = Data.ProtoLens.Field.field @"maybe'end"
+maybe'extendee ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "maybe'extendee" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'extendee = Data.ProtoLens.Field.field @"maybe'extendee"
+maybe'goPackage ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "maybe'goPackage" a) =>
+                  Lens.Family2.LensLike' f s a
+maybe'goPackage = Data.ProtoLens.Field.field @"maybe'goPackage"
+maybe'idempotencyLevel ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Data.ProtoLens.Field.HasField s "maybe'idempotencyLevel" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'idempotencyLevel
+  = Data.ProtoLens.Field.field @"maybe'idempotencyLevel"
+maybe'identifierValue ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Data.ProtoLens.Field.HasField s "maybe'identifierValue" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'identifierValue
+  = Data.ProtoLens.Field.field @"maybe'identifierValue"
+maybe'inputType ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "maybe'inputType" a) =>
+                  Lens.Family2.LensLike' f s a
+maybe'inputType = Data.ProtoLens.Field.field @"maybe'inputType"
+maybe'javaGenerateEqualsAndHash ::
+                                forall f s a .
+                                  (Prelude.Functor f,
+                                   Data.ProtoLens.Field.HasField s "maybe'javaGenerateEqualsAndHash"
+                                     a) =>
+                                  Lens.Family2.LensLike' f s a
+maybe'javaGenerateEqualsAndHash
+  = Data.ProtoLens.Field.field @"maybe'javaGenerateEqualsAndHash"
+maybe'javaGenericServices ::
+                          forall f s a .
+                            (Prelude.Functor f,
+                             Data.ProtoLens.Field.HasField s "maybe'javaGenericServices" a) =>
+                            Lens.Family2.LensLike' f s a
+maybe'javaGenericServices
+  = Data.ProtoLens.Field.field @"maybe'javaGenericServices"
+maybe'javaMultipleFiles ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Data.ProtoLens.Field.HasField s "maybe'javaMultipleFiles" a) =>
+                          Lens.Family2.LensLike' f s a
+maybe'javaMultipleFiles
+  = Data.ProtoLens.Field.field @"maybe'javaMultipleFiles"
+maybe'javaOuterClassname ::
+                         forall f s a .
+                           (Prelude.Functor f,
+                            Data.ProtoLens.Field.HasField s "maybe'javaOuterClassname" a) =>
+                           Lens.Family2.LensLike' f s a
+maybe'javaOuterClassname
+  = Data.ProtoLens.Field.field @"maybe'javaOuterClassname"
+maybe'javaPackage ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "maybe'javaPackage" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'javaPackage = Data.ProtoLens.Field.field @"maybe'javaPackage"
+maybe'javaStringCheckUtf8 ::
+                          forall f s a .
+                            (Prelude.Functor f,
+                             Data.ProtoLens.Field.HasField s "maybe'javaStringCheckUtf8" a) =>
+                            Lens.Family2.LensLike' f s a
+maybe'javaStringCheckUtf8
+  = Data.ProtoLens.Field.field @"maybe'javaStringCheckUtf8"
+maybe'jsonName ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "maybe'jsonName" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'jsonName = Data.ProtoLens.Field.field @"maybe'jsonName"
+maybe'jstype ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "maybe'jstype" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'jstype = Data.ProtoLens.Field.field @"maybe'jstype"
+maybe'label ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'label" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'label = Data.ProtoLens.Field.field @"maybe'label"
+maybe'lazy ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "maybe'lazy" a) =>
+             Lens.Family2.LensLike' f s a
+maybe'lazy = Data.ProtoLens.Field.field @"maybe'lazy"
+maybe'leadingComments ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Data.ProtoLens.Field.HasField s "maybe'leadingComments" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'leadingComments
+  = Data.ProtoLens.Field.field @"maybe'leadingComments"
+maybe'mapEntry ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "maybe'mapEntry" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'mapEntry = Data.ProtoLens.Field.field @"maybe'mapEntry"
+maybe'messageSetWireFormat ::
+                           forall f s a .
+                             (Prelude.Functor f,
+                              Data.ProtoLens.Field.HasField s "maybe'messageSetWireFormat" a) =>
+                             Lens.Family2.LensLike' f s a
+maybe'messageSetWireFormat
+  = Data.ProtoLens.Field.field @"maybe'messageSetWireFormat"
+maybe'name ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "maybe'name" a) =>
+             Lens.Family2.LensLike' f s a
+maybe'name = Data.ProtoLens.Field.field @"maybe'name"
+maybe'negativeIntValue ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Data.ProtoLens.Field.HasField s "maybe'negativeIntValue" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'negativeIntValue
+  = Data.ProtoLens.Field.field @"maybe'negativeIntValue"
+maybe'noStandardDescriptorAccessor ::
+                                   forall f s a .
+                                     (Prelude.Functor f,
+                                      Data.ProtoLens.Field.HasField s
+                                        "maybe'noStandardDescriptorAccessor" a) =>
+                                     Lens.Family2.LensLike' f s a
+maybe'noStandardDescriptorAccessor
+  = Data.ProtoLens.Field.field @"maybe'noStandardDescriptorAccessor"
+maybe'number ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "maybe'number" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'number = Data.ProtoLens.Field.field @"maybe'number"
+maybe'objcClassPrefix ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Data.ProtoLens.Field.HasField s "maybe'objcClassPrefix" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'objcClassPrefix
+  = Data.ProtoLens.Field.field @"maybe'objcClassPrefix"
+maybe'oneofIndex ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "maybe'oneofIndex" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'oneofIndex = Data.ProtoLens.Field.field @"maybe'oneofIndex"
+maybe'optimizeFor ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "maybe'optimizeFor" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'optimizeFor = Data.ProtoLens.Field.field @"maybe'optimizeFor"
+maybe'options ::
+              forall f s a .
+                (Prelude.Functor f,
+                 Data.ProtoLens.Field.HasField s "maybe'options" a) =>
+                Lens.Family2.LensLike' f s a
+maybe'options = Data.ProtoLens.Field.field @"maybe'options"
+maybe'outputType ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "maybe'outputType" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'outputType = Data.ProtoLens.Field.field @"maybe'outputType"
+maybe'package ::
+              forall f s a .
+                (Prelude.Functor f,
+                 Data.ProtoLens.Field.HasField s "maybe'package" a) =>
+                Lens.Family2.LensLike' f s a
+maybe'package = Data.ProtoLens.Field.field @"maybe'package"
+maybe'packed ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "maybe'packed" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'packed = Data.ProtoLens.Field.field @"maybe'packed"
+maybe'phpClassPrefix ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Data.ProtoLens.Field.HasField s "maybe'phpClassPrefix" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'phpClassPrefix
+  = Data.ProtoLens.Field.field @"maybe'phpClassPrefix"
+maybe'phpGenericServices ::
+                         forall f s a .
+                           (Prelude.Functor f,
+                            Data.ProtoLens.Field.HasField s "maybe'phpGenericServices" a) =>
+                           Lens.Family2.LensLike' f s a
+maybe'phpGenericServices
+  = Data.ProtoLens.Field.field @"maybe'phpGenericServices"
+maybe'phpMetadataNamespace ::
+                           forall f s a .
+                             (Prelude.Functor f,
+                              Data.ProtoLens.Field.HasField s "maybe'phpMetadataNamespace" a) =>
+                             Lens.Family2.LensLike' f s a
+maybe'phpMetadataNamespace
+  = Data.ProtoLens.Field.field @"maybe'phpMetadataNamespace"
+maybe'phpNamespace ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Data.ProtoLens.Field.HasField s "maybe'phpNamespace" a) =>
+                     Lens.Family2.LensLike' f s a
+maybe'phpNamespace
+  = Data.ProtoLens.Field.field @"maybe'phpNamespace"
+maybe'positiveIntValue ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Data.ProtoLens.Field.HasField s "maybe'positiveIntValue" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'positiveIntValue
+  = Data.ProtoLens.Field.field @"maybe'positiveIntValue"
+maybe'pyGenericServices ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Data.ProtoLens.Field.HasField s "maybe'pyGenericServices" a) =>
+                          Lens.Family2.LensLike' f s a
+maybe'pyGenericServices
+  = Data.ProtoLens.Field.field @"maybe'pyGenericServices"
+maybe'rubyPackage ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "maybe'rubyPackage" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'rubyPackage = Data.ProtoLens.Field.field @"maybe'rubyPackage"
+maybe'serverStreaming ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Data.ProtoLens.Field.HasField s "maybe'serverStreaming" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'serverStreaming
+  = Data.ProtoLens.Field.field @"maybe'serverStreaming"
+maybe'sourceCodeInfo ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Data.ProtoLens.Field.HasField s "maybe'sourceCodeInfo" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'sourceCodeInfo
+  = Data.ProtoLens.Field.field @"maybe'sourceCodeInfo"
+maybe'sourceFile ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "maybe'sourceFile" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'sourceFile = Data.ProtoLens.Field.field @"maybe'sourceFile"
+maybe'start ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'start" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'start = Data.ProtoLens.Field.field @"maybe'start"
+maybe'stringValue ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "maybe'stringValue" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'stringValue = Data.ProtoLens.Field.field @"maybe'stringValue"
+maybe'swiftPrefix ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "maybe'swiftPrefix" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'swiftPrefix = Data.ProtoLens.Field.field @"maybe'swiftPrefix"
+maybe'syntax ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "maybe'syntax" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'syntax = Data.ProtoLens.Field.field @"maybe'syntax"
+maybe'trailingComments ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Data.ProtoLens.Field.HasField s "maybe'trailingComments" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'trailingComments
+  = Data.ProtoLens.Field.field @"maybe'trailingComments"
+maybe'type' ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "maybe'type'" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'type' = Data.ProtoLens.Field.field @"maybe'type'"
+maybe'typeName ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "maybe'typeName" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'typeName = Data.ProtoLens.Field.field @"maybe'typeName"
+maybe'weak ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "maybe'weak" a) =>
+             Lens.Family2.LensLike' f s a
+maybe'weak = Data.ProtoLens.Field.field @"maybe'weak"
+messageSetWireFormat ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Data.ProtoLens.Field.HasField s "messageSetWireFormat" a) =>
+                       Lens.Family2.LensLike' f s a
+messageSetWireFormat
+  = Data.ProtoLens.Field.field @"messageSetWireFormat"
+messageType ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "messageType" a) =>
+              Lens.Family2.LensLike' f s a
+messageType = Data.ProtoLens.Field.field @"messageType"
+method ::
+       forall f s a .
+         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "method" a) =>
+         Lens.Family2.LensLike' f s a
+method = Data.ProtoLens.Field.field @"method"
+name ::
+     forall f s a .
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>
+       Lens.Family2.LensLike' f s a
+name = Data.ProtoLens.Field.field @"name"
+namePart ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "namePart" a) =>
+           Lens.Family2.LensLike' f s a
+namePart = Data.ProtoLens.Field.field @"namePart"
+negativeIntValue ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "negativeIntValue" a) =>
+                   Lens.Family2.LensLike' f s a
+negativeIntValue = Data.ProtoLens.Field.field @"negativeIntValue"
+nestedType ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "nestedType" a) =>
+             Lens.Family2.LensLike' f s a
+nestedType = Data.ProtoLens.Field.field @"nestedType"
+noStandardDescriptorAccessor ::
+                             forall f s a .
+                               (Prelude.Functor f,
+                                Data.ProtoLens.Field.HasField s "noStandardDescriptorAccessor"
+                                  a) =>
+                               Lens.Family2.LensLike' f s a
+noStandardDescriptorAccessor
+  = Data.ProtoLens.Field.field @"noStandardDescriptorAccessor"
+number ::
+       forall f s a .
+         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "number" a) =>
+         Lens.Family2.LensLike' f s a
+number = Data.ProtoLens.Field.field @"number"
+objcClassPrefix ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "objcClassPrefix" a) =>
+                  Lens.Family2.LensLike' f s a
+objcClassPrefix = Data.ProtoLens.Field.field @"objcClassPrefix"
+oneofDecl ::
+          forall f s a .
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "oneofDecl" a) =>
+            Lens.Family2.LensLike' f s a
+oneofDecl = Data.ProtoLens.Field.field @"oneofDecl"
+oneofIndex ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "oneofIndex" a) =>
+             Lens.Family2.LensLike' f s a
+oneofIndex = Data.ProtoLens.Field.field @"oneofIndex"
+optimizeFor ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "optimizeFor" a) =>
+              Lens.Family2.LensLike' f s a
+optimizeFor = Data.ProtoLens.Field.field @"optimizeFor"
+options ::
+        forall f s a .
+          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "options" a) =>
+          Lens.Family2.LensLike' f s a
+options = Data.ProtoLens.Field.field @"options"
+outputType ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "outputType" a) =>
+             Lens.Family2.LensLike' f s a
+outputType = Data.ProtoLens.Field.field @"outputType"
+package ::
+        forall f s a .
+          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "package" a) =>
+          Lens.Family2.LensLike' f s a
+package = Data.ProtoLens.Field.field @"package"
+packed ::
+       forall f s a .
+         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "packed" a) =>
+         Lens.Family2.LensLike' f s a
+packed = Data.ProtoLens.Field.field @"packed"
+path ::
+     forall f s a .
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "path" a) =>
+       Lens.Family2.LensLike' f s a
+path = Data.ProtoLens.Field.field @"path"
+phpClassPrefix ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "phpClassPrefix" a) =>
+                 Lens.Family2.LensLike' f s a
+phpClassPrefix = Data.ProtoLens.Field.field @"phpClassPrefix"
+phpGenericServices ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Data.ProtoLens.Field.HasField s "phpGenericServices" a) =>
+                     Lens.Family2.LensLike' f s a
+phpGenericServices
+  = Data.ProtoLens.Field.field @"phpGenericServices"
+phpMetadataNamespace ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Data.ProtoLens.Field.HasField s "phpMetadataNamespace" a) =>
+                       Lens.Family2.LensLike' f s a
+phpMetadataNamespace
+  = Data.ProtoLens.Field.field @"phpMetadataNamespace"
+phpNamespace ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "phpNamespace" a) =>
+               Lens.Family2.LensLike' f s a
+phpNamespace = Data.ProtoLens.Field.field @"phpNamespace"
+positiveIntValue ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "positiveIntValue" a) =>
+                   Lens.Family2.LensLike' f s a
+positiveIntValue = Data.ProtoLens.Field.field @"positiveIntValue"
+publicDependency ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "publicDependency" a) =>
+                   Lens.Family2.LensLike' f s a
+publicDependency = Data.ProtoLens.Field.field @"publicDependency"
+pyGenericServices ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "pyGenericServices" a) =>
+                    Lens.Family2.LensLike' f s a
+pyGenericServices = Data.ProtoLens.Field.field @"pyGenericServices"
+reservedName ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "reservedName" a) =>
+               Lens.Family2.LensLike' f s a
+reservedName = Data.ProtoLens.Field.field @"reservedName"
+reservedRange ::
+              forall f s a .
+                (Prelude.Functor f,
+                 Data.ProtoLens.Field.HasField s "reservedRange" a) =>
+                Lens.Family2.LensLike' f s a
+reservedRange = Data.ProtoLens.Field.field @"reservedRange"
+rubyPackage ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "rubyPackage" a) =>
+              Lens.Family2.LensLike' f s a
+rubyPackage = Data.ProtoLens.Field.field @"rubyPackage"
+serverStreaming ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "serverStreaming" a) =>
+                  Lens.Family2.LensLike' f s a
+serverStreaming = Data.ProtoLens.Field.field @"serverStreaming"
+service ::
+        forall f s a .
+          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "service" a) =>
+          Lens.Family2.LensLike' f s a
+service = Data.ProtoLens.Field.field @"service"
+sourceCodeInfo ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "sourceCodeInfo" a) =>
+                 Lens.Family2.LensLike' f s a
+sourceCodeInfo = Data.ProtoLens.Field.field @"sourceCodeInfo"
+sourceFile ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "sourceFile" a) =>
+             Lens.Family2.LensLike' f s a
+sourceFile = Data.ProtoLens.Field.field @"sourceFile"
+span ::
+     forall f s a .
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "span" a) =>
+       Lens.Family2.LensLike' f s a
+span = Data.ProtoLens.Field.field @"span"
+start ::
+      forall f s a .
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "start" a) =>
+        Lens.Family2.LensLike' f s a
+start = Data.ProtoLens.Field.field @"start"
+stringValue ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "stringValue" a) =>
+              Lens.Family2.LensLike' f s a
+stringValue = Data.ProtoLens.Field.field @"stringValue"
+swiftPrefix ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "swiftPrefix" a) =>
+              Lens.Family2.LensLike' f s a
+swiftPrefix = Data.ProtoLens.Field.field @"swiftPrefix"
+syntax ::
+       forall f s a .
+         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "syntax" a) =>
+         Lens.Family2.LensLike' f s a
+syntax = Data.ProtoLens.Field.field @"syntax"
+trailingComments ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "trailingComments" a) =>
+                   Lens.Family2.LensLike' f s a
+trailingComments = Data.ProtoLens.Field.field @"trailingComments"
+type' ::
+      forall f s a .
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "type'" a) =>
+        Lens.Family2.LensLike' f s a
+type' = Data.ProtoLens.Field.field @"type'"
+typeName ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "typeName" a) =>
+           Lens.Family2.LensLike' f s a
+typeName = Data.ProtoLens.Field.field @"typeName"
+uninterpretedOption ::
+                    forall f s a .
+                      (Prelude.Functor f,
+                       Data.ProtoLens.Field.HasField s "uninterpretedOption" a) =>
+                      Lens.Family2.LensLike' f s a
+uninterpretedOption
+  = Data.ProtoLens.Field.field @"uninterpretedOption"
+value ::
+      forall f s a .
+        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "value" a) =>
+        Lens.Family2.LensLike' f s a
+value = Data.ProtoLens.Field.field @"value"
+vec'annotation ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "vec'annotation" a) =>
+                 Lens.Family2.LensLike' f s a
+vec'annotation = Data.ProtoLens.Field.field @"vec'annotation"
+vec'dependency ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "vec'dependency" a) =>
+                 Lens.Family2.LensLike' f s a
+vec'dependency = Data.ProtoLens.Field.field @"vec'dependency"
+vec'enumType ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "vec'enumType" a) =>
+               Lens.Family2.LensLike' f s a
+vec'enumType = Data.ProtoLens.Field.field @"vec'enumType"
+vec'extension ::
+              forall f s a .
+                (Prelude.Functor f,
+                 Data.ProtoLens.Field.HasField s "vec'extension" a) =>
+                Lens.Family2.LensLike' f s a
+vec'extension = Data.ProtoLens.Field.field @"vec'extension"
+vec'extensionRange ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Data.ProtoLens.Field.HasField s "vec'extensionRange" a) =>
+                     Lens.Family2.LensLike' f s a
+vec'extensionRange
+  = Data.ProtoLens.Field.field @"vec'extensionRange"
+vec'field ::
+          forall f s a .
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "vec'field" a) =>
+            Lens.Family2.LensLike' f s a
+vec'field = Data.ProtoLens.Field.field @"vec'field"
+vec'file ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "vec'file" a) =>
+           Lens.Family2.LensLike' f s a
+vec'file = Data.ProtoLens.Field.field @"vec'file"
+vec'leadingDetachedComments ::
+                            forall f s a .
+                              (Prelude.Functor f,
+                               Data.ProtoLens.Field.HasField s "vec'leadingDetachedComments" a) =>
+                              Lens.Family2.LensLike' f s a
+vec'leadingDetachedComments
+  = Data.ProtoLens.Field.field @"vec'leadingDetachedComments"
+vec'location ::
+             forall f s a .
+               (Prelude.Functor f,
+                Data.ProtoLens.Field.HasField s "vec'location" a) =>
+               Lens.Family2.LensLike' f s a
+vec'location = Data.ProtoLens.Field.field @"vec'location"
+vec'messageType ::
+                forall f s a .
+                  (Prelude.Functor f,
+                   Data.ProtoLens.Field.HasField s "vec'messageType" a) =>
+                  Lens.Family2.LensLike' f s a
+vec'messageType = Data.ProtoLens.Field.field @"vec'messageType"
+vec'method ::
+           forall f s a .
+             (Prelude.Functor f,
+              Data.ProtoLens.Field.HasField s "vec'method" a) =>
+             Lens.Family2.LensLike' f s a
+vec'method = Data.ProtoLens.Field.field @"vec'method"
+vec'name ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "vec'name" a) =>
+           Lens.Family2.LensLike' f s a
+vec'name = Data.ProtoLens.Field.field @"vec'name"
+vec'nestedType ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "vec'nestedType" a) =>
+                 Lens.Family2.LensLike' f s a
+vec'nestedType = Data.ProtoLens.Field.field @"vec'nestedType"
+vec'oneofDecl ::
+              forall f s a .
+                (Prelude.Functor f,
+                 Data.ProtoLens.Field.HasField s "vec'oneofDecl" a) =>
+                Lens.Family2.LensLike' f s a
+vec'oneofDecl = Data.ProtoLens.Field.field @"vec'oneofDecl"
+vec'path ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "vec'path" a) =>
+           Lens.Family2.LensLike' f s a
+vec'path = Data.ProtoLens.Field.field @"vec'path"
+vec'publicDependency ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Data.ProtoLens.Field.HasField s "vec'publicDependency" a) =>
+                       Lens.Family2.LensLike' f s a
+vec'publicDependency
+  = Data.ProtoLens.Field.field @"vec'publicDependency"
+vec'reservedName ::
+                 forall f s a .
+                   (Prelude.Functor f,
+                    Data.ProtoLens.Field.HasField s "vec'reservedName" a) =>
+                   Lens.Family2.LensLike' f s a
+vec'reservedName = Data.ProtoLens.Field.field @"vec'reservedName"
+vec'reservedRange ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Data.ProtoLens.Field.HasField s "vec'reservedRange" a) =>
+                    Lens.Family2.LensLike' f s a
+vec'reservedRange = Data.ProtoLens.Field.field @"vec'reservedRange"
+vec'service ::
+            forall f s a .
+              (Prelude.Functor f,
+               Data.ProtoLens.Field.HasField s "vec'service" a) =>
+              Lens.Family2.LensLike' f s a
+vec'service = Data.ProtoLens.Field.field @"vec'service"
+vec'span ::
+         forall f s a .
+           (Prelude.Functor f,
+            Data.ProtoLens.Field.HasField s "vec'span" a) =>
+           Lens.Family2.LensLike' f s a
+vec'span = Data.ProtoLens.Field.field @"vec'span"
+vec'uninterpretedOption ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Data.ProtoLens.Field.HasField s "vec'uninterpretedOption" a) =>
+                          Lens.Family2.LensLike' f s a
+vec'uninterpretedOption
+  = Data.ProtoLens.Field.field @"vec'uninterpretedOption"
+vec'value ::
+          forall f s a .
+            (Prelude.Functor f,
+             Data.ProtoLens.Field.HasField s "vec'value" a) =>
+            Lens.Family2.LensLike' f s a
+vec'value = Data.ProtoLens.Field.field @"vec'value"
+vec'weakDependency ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Data.ProtoLens.Field.HasField s "vec'weakDependency" a) =>
+                     Lens.Family2.LensLike' f s a
+vec'weakDependency
+  = Data.ProtoLens.Field.field @"vec'weakDependency"
+weak ::
+     forall f s a .
+       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "weak" a) =>
+       Lens.Family2.LensLike' f s a
+weak = Data.ProtoLens.Field.field @"weak"
+weakDependency ::
+               forall f s a .
+                 (Prelude.Functor f,
+                  Data.ProtoLens.Field.HasField s "weakDependency" a) =>
+                 Lens.Family2.LensLike' f s a
+weakDependency = Data.ProtoLens.Field.field @"weakDependency"
diff --git a/tests/growing_test.hs b/tests/growing_test.hs
new file mode 100644
--- /dev/null
+++ b/tests/growing_test.hs
@@ -0,0 +1,37 @@
+-- | Unit and property tests for Data.ProtoLens.Encoding.Growing.
+module Main (main) where
+
+import Control.Monad (void)
+import Control.Monad.ST
+import Data.Foldable (foldlM)
+import qualified Data.Vector.Unboxed as V
+import Test.QuickCheck
+import Test.Framework (defaultMain)
+import Test.Framework.Providers.QuickCheck2 (testProperty)
+
+import Data.ProtoLens.Encoding.Growing
+
+main :: IO ()
+main = defaultMain
+    [ testProperty "fromList" testFromList
+    , testProperty "unchanged" testUnchanged
+    ]
+
+testFromList :: [Int] -> Property
+testFromList xs = fromListGrowing xs === V.fromList xs
+
+fromListGrowing :: V.Unbox a => [a] -> V.Vector a
+fromListGrowing xs0 = runST (new >>= fill xs0 >>= unsafeFreeze)
+
+fill :: V.Unbox a => [a] -> Growing V.Vector s a -> ST s (Growing V.Vector s a)
+fill xs v = foldlM append v xs
+
+-- Test a weak form of immutability: filling in more values (which may or may
+-- not cause reallocations) doesn't affect the current value.
+testUnchanged :: [Int] -> [Int] -> Property
+testUnchanged xs ys =
+    let xs' = runST (do
+                        v <- new >>= fill xs
+                        void $ fill ys v
+                        unsafeFreeze v)
+    in xs' === V.fromList xs
diff --git a/tests/parser_test.hs b/tests/parser_test.hs
new file mode 100644
--- /dev/null
+++ b/tests/parser_test.hs
@@ -0,0 +1,97 @@
+-- | Unit and property tests for our custom parsing monad.
+module Main (main) where
+
+import Control.Applicative (liftA2)
+import qualified Data.ByteString as B
+import Data.Either (isLeft)
+
+import Test.QuickCheck
+import Test.Framework (defaultMain, testGroup, Test)
+import Test.Framework.Providers.QuickCheck2 (testProperty)
+
+import Data.ProtoLens.Encoding.Bytes
+import Data.ProtoLens.Encoding.Parser
+
+main :: IO ()
+main = defaultMain
+    [ testGroup "Parser" testParser
+    , testGroup "getWord8" testGetWord8
+    , testGroup "getBytes" testGetBytes
+    , testGroup "getWord32le" testGetWord32le
+    , testGroup "failure" testFailure
+    , testGroup "isolate" testIsolate
+    ]
+
+testParser :: [Test]
+testParser =
+    -- Test out the Applicative instance by using "traverse" to read the same number of bytes
+    -- as in the input.
+    -- "traverse (const f) g" runs f once for every element of g.
+    [ testProperty "traverse" $ \ws -> runParser (traverse (const getWord8) ws)
+                                        (B.pack ws)
+                                    === Right ws
+    ]
+
+testGetWord8 :: [Test]
+testGetWord8 =
+    [ testProperty "atEnd" $ \ws -> runParser atEnd (B.pack ws) === Right (null ws)
+    , testProperty "manyTillEnd"
+            $ \ws -> runParser (manyTillEnd getWord8) (B.pack ws) === Right ws
+    ]
+
+testGetBytes :: [Test]
+testGetBytes =
+    [ testProperty "many"
+            $ \ws -> let
+                packed = map B.pack ws
+                in runParser (mapM (getBytes . B.length) packed) (B.concat packed)
+                    === Right packed
+    , testProperty "negative length"
+        $ \n ws -> n < 0 ==> counterexampleF isLeft
+                                (runParser (getBytes n) $ B.pack ws)
+    ]
+
+testGetWord32le :: [Test]
+testGetWord32le =
+    [ testProperty "align"
+        $ \ws -> length ws `mod` 4 /= 0 ==>
+                    counterexampleF isLeft (runParser (manyTillEnd getWord32le) (B.pack ws))
+    , testProperty "manyTillEnd" $ \ws ->
+            runParser (manyTillEnd getWord32le) (runBuilder $ foldMap putFixed32 ws)
+                === Right ws
+    ]
+
+testFailure :: [Test]
+testFailure =
+    [ testProperty "fail-fast" $ \bs ->
+        runParser (fail "abcde") (B.pack bs)
+            === (Left "abcde" :: Either String ())
+    , testProperty "<?>" $ \bs ->
+        runParser (fail "abcde" <?> "fghij") (B.pack bs)
+            === (Left "fghij: abcde" :: Either String ())
+    ]
+
+testIsolate :: [Test]
+testIsolate =
+    [ testProperty "many" $ \bs bs' ->
+        runParser (liftA2 (,) (isolate (length bs) $ manyTillEnd getWord8)
+                        (manyTillEnd getWord8))
+            (B.pack (bs ++ bs'))
+            == Right (bs, bs')
+    , testProperty "negative length" $ \n ws ->
+        n < 0 ==> counterexampleF isLeft $ runParser (isolate n getWord8) $ B.pack ws
+    ]
+
+-- Since this is a test, just implement the slow stack-heavy way.
+manyTillEnd :: Parser a -> Parser [a]
+manyTillEnd p = do
+    end <- atEnd
+    if end
+        then return []
+        else do
+            x <- p
+            xs <- manyTillEnd p
+            return $ x : xs
+
+counterexampleF :: (Testable prop, Show a) => (a -> prop) -> a -> Property
+counterexampleF f x = counterexample (show x) $ f x
