content: {-# OPTIONS_GHC -Wno-prepositive-qualified-module -Wno-identities #-}
  {- This file was auto-generated from empty.proto by the proto-lens-protoc program. -}
  {-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
  {-# OPTIONS_GHC -Wno-unused-imports#-}
  {-# OPTIONS_GHC -Wno-duplicate-exports#-}
  {-# OPTIONS_GHC -Wno-dodgy-exports#-}
  module Proto.Empty (
          Empty()
      ) where
  import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
  import qualified Data.ProtoLens.Runtime.Prelude as Prelude
  import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
  import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
  import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
  import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
  import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
  import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
  import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
  import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
  import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
  import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
  import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
  import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
  import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
  import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
  import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
  {- | Fields :
        -}
  data Empty
    = Empty'_constructor {_Empty'_unknownFields :: !Data.ProtoLens.FieldSet}
    deriving stock (Prelude.Eq, Prelude.Ord)
  instance Prelude.Show Empty where
    showsPrec _ __x __s
      = Prelude.showChar
          '{'
          (Prelude.showString
             (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
  instance Data.ProtoLens.Message Empty where
    messageName _ = Data.Text.pack "grpc.testing.Empty"
    packedMessageDescriptor _
      = "\n\
        \\ENQEmpty"
    packedFileDescriptor _ = packedFileDescriptor
    fieldsByTag = let in Data.Map.fromList []
    unknownFields
      = Lens.Family2.Unchecked.lens
          _Empty'_unknownFields
          (\ x__ y__ -> x__ {_Empty'_unknownFields = y__})
    defMessage = Empty'_constructor {_Empty'_unknownFields = []}
    parseMessage
      = let
          loop :: Empty -> Data.ProtoLens.Encoding.Bytes.Parser Empty
          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
                                 ((Prelude.++)
                                    "Missing required fields: "
                                    (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
                          wire
                            -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                          wire
                                  loop
                                    (Lens.Family2.over
                                       Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
        in
          (Data.ProtoLens.Encoding.Bytes.<?>)
            (do loop Data.ProtoLens.defMessage) "Empty"
    buildMessage
      = \ _x
          -> Data.ProtoLens.Encoding.Wire.buildFieldSet
               (Lens.Family2.view Data.ProtoLens.unknownFields _x)
  instance Control.DeepSeq.NFData Empty where
    rnf
      = \ x__ -> Control.DeepSeq.deepseq (_Empty'_unknownFields x__) ()
  packedFileDescriptor :: Data.ByteString.ByteString
  packedFileDescriptor
    = "\n\
      \\vempty.proto\DC2\fgrpc.testing\"\a\n\
      \\ENQEmptyJ\144\a\n\
      \\ACK\DC2\EOT\SI\NUL\ESC\DLE\n\
      \\191\EOT\n\
      \\SOH\f\DC2\ETX\SI\NUL\DC22\180\EOT Copyright 2015 gRPC authors.\n\
      \\n\
      \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
      \ you may not use this file except in compliance with the License.\n\
      \ You may obtain a copy of the License at\n\
      \\n\
      \     http://www.apache.org/licenses/LICENSE-2.0\n\
      \\n\
      \ Unless required by applicable law or agreed to in writing, software\n\
      \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
      \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
      \ See the License for the specific language governing permissions and\n\
      \ limitations under the License.\n\
      \\n\
      \\b\n\
      \\SOH\STX\DC2\ETX\DC1\NUL\NAK\n\
      \\173\STX\n\
      \\STX\EOT\NUL\DC2\ETX\ESC\NUL\DLE\SUB\161\STX An empty message that you can re-use to avoid defining duplicated empty\n\
      \ messages in your project. A typical example is to use it as argument or the\n\
      \ return value of a service API. For instance:\n\
      \\n\
      \   service Foo {\n\
      \     rpc Bar (grpc.testing.Empty) returns (grpc.testing.Empty) { };\n\
      \   };\n\
      \\n\
      \\n\
      \\n\
      \\n\
      \\ETX\EOT\NUL\SOH\DC2\ETX\ESC\b\rb\ACKproto3"