{- This file was auto-generated from utxorpc/v1beta/cardano/cardano.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.Utxorpc.V1beta.Cardano.Cardano (
        AddressPattern(), Anchor(), Asset(), AssetPattern(),
        AuthCommitteeHotCert(), AuxData(), BigInt(), BigInt'BigInt(..),
        _BigInt'Int, _BigInt'BigUInt, _BigInt'BigNInt, Block(),
        BlockBody(), BlockHeader(), BlockVersionData(), BootstrapWitness(),
        Certificate(), Certificate'Certificate(..),
        _Certificate'StakeRegistration, _Certificate'StakeDeregistration,
        _Certificate'StakeDelegation, _Certificate'PoolRegistration,
        _Certificate'PoolRetirement, _Certificate'GenesisKeyDelegation,
        _Certificate'MirCert, _Certificate'RegCert, _Certificate'UnregCert,
        _Certificate'VoteDelegCert, _Certificate'StakeVoteDelegCert,
        _Certificate'StakeRegDelegCert, _Certificate'VoteRegDelegCert,
        _Certificate'StakeVoteRegDelegCert,
        _Certificate'AuthCommitteeHotCert,
        _Certificate'ResignCommitteeColdCert, _Certificate'RegDrepCert,
        _Certificate'UnregDrepCert, _Certificate'UpdateDrepCert,
        CertificatePattern(), CertificatePattern'CertificateType(..),
        _CertificatePattern'StakeRegistration,
        _CertificatePattern'StakeDeregistration,
        _CertificatePattern'StakeDelegation,
        _CertificatePattern'PoolRegistration,
        _CertificatePattern'PoolRetirement,
        _CertificatePattern'AnyStakeCredential,
        _CertificatePattern'AnyPoolKeyhash, _CertificatePattern'AnyDrep,
        Collateral(), Committee(), Committee'MembersEntry(),
        Constitution(), Constr(), CostModel(), CostModelMap(),
        CostModels(), DRep(), DRep'Drep(..), _DRep'AddrKeyHash,
        _DRep'ScriptHash, _DRep'Abstain, _DRep'NoConfidence,
        DRepVotingThresholds(), Datum(), EraBoundary(), EraSummaries(),
        EraSummary(), EvalReport(), ExPrices(), ExUnits(), ExtraEntropy(),
        GenDelegs(), Genesis(), Genesis'AvvmDistrEntry(),
        Genesis'BootStakeholdersEntry(), Genesis'GenDelegsEntry(),
        Genesis'HeavyDelegationEntry(), Genesis'InitialFundsEntry(),
        Genesis'NonAvvmBalancesEntry(), Genesis'VssCertsEntry(),
        GenesisKeyDelegationCert(), GovernanceAction(),
        GovernanceAction'GovernanceAction(..),
        _GovernanceAction'ParameterChangeAction,
        _GovernanceAction'HardForkInitiationAction,
        _GovernanceAction'TreasuryWithdrawalsAction,
        _GovernanceAction'NoConfidenceAction,
        _GovernanceAction'UpdateCommitteeAction,
        _GovernanceAction'NewConstitutionAction,
        _GovernanceAction'InfoAction, GovernanceActionId(),
        GovernanceActionProposal(), HardForkInitiationAction(),
        HeavyDelegation(), InfoAction(), Metadata(), Metadatum(),
        Metadatum'Metadatum(..), _Metadatum'Int, _Metadatum'Bytes,
        _Metadatum'Text, _Metadatum'Array, _Metadatum'Map,
        MetadatumArray(), MetadatumMap(), MetadatumPair(), MirCert(),
        MirSource(..), MirSource(), MirSource'UnrecognizedValue,
        MirTarget(), Multiasset(), NativeScript(),
        NativeScript'NativeScript(..), _NativeScript'ScriptPubkeyHash,
        _NativeScript'ScriptAll, _NativeScript'ScriptAny,
        _NativeScript'ScriptNOfK, _NativeScript'InvalidBefore,
        _NativeScript'InvalidHereafter, NativeScriptList(),
        NewCommitteeCredentials(), NewConstitutionAction(),
        NoConfidenceAction(), PParams(), ParameterChangeAction(),
        PlutusData(), PlutusData'PlutusData(..), _PlutusData'Constr,
        _PlutusData'Map, _PlutusData'BigInt, _PlutusData'BoundedBytes,
        _PlutusData'Array, PlutusDataArray(), PlutusDataMap(),
        PlutusDataPair(), PoolMetadata(), PoolRegistrationCert(),
        PoolRegistrationPattern(), PoolRetirementCert(),
        PoolRetirementPattern(), PoolVotingThresholds(), ProtocolConsts(),
        ProtocolVersion(), RationalNumber(), Redeemer(),
        RedeemerPurpose(..), RedeemerPurpose(),
        RedeemerPurpose'UnrecognizedValue, RegCert(), RegDRepCert(),
        Relay(), ResignCommitteeColdCert(), Script(), Script'Script(..),
        _Script'Native, _Script'PlutusV1, _Script'PlutusV2,
        _Script'PlutusV3, _Script'PlutusV4, ScriptNOfK(), SoftforkRule(),
        StakeCredential(), StakeCredential'StakeCredential(..),
        _StakeCredential'AddrKeyHash, _StakeCredential'ScriptHash,
        StakeDelegationCert(), StakeDelegationPattern(),
        StakeRegDelegCert(), StakeVoteDelegCert(), StakeVoteRegDelegCert(),
        TreasuryWithdrawalsAction(), Tx(), TxEval(), TxFeePolicy(),
        TxInput(), TxOutput(), TxOutputPattern(), TxPattern(),
        TxValidity(), UnRegCert(), UnRegDRepCert(),
        UpdateCommitteeAction(), UpdateDRepCert(), VKeyWitness(),
        VoteDelegCert(), VoteRegDelegCert(), VotingThresholds(), VssCert(),
        Withdrawal(), WithdrawalAmount(), WitnessSet()
    ) 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 :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.exactAddress' @:: Lens' AddressPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'exactAddress' @:: Lens' AddressPattern (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.paymentPart' @:: Lens' AddressPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'paymentPart' @:: Lens' AddressPattern (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.delegationPart' @:: Lens' AddressPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'delegationPart' @:: Lens' AddressPattern (Prelude.Maybe Data.ByteString.ByteString)@ -}
data AddressPattern
  = AddressPattern'_constructor {_AddressPattern'exactAddress :: !(Prelude.Maybe Data.ByteString.ByteString),
                                 _AddressPattern'paymentPart :: !(Prelude.Maybe Data.ByteString.ByteString),
                                 _AddressPattern'delegationPart :: !(Prelude.Maybe Data.ByteString.ByteString),
                                 _AddressPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AddressPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AddressPattern "exactAddress" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'exactAddress
           (\ x__ y__ -> x__ {_AddressPattern'exactAddress = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField AddressPattern "maybe'exactAddress" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'exactAddress
           (\ x__ y__ -> x__ {_AddressPattern'exactAddress = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AddressPattern "paymentPart" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'paymentPart
           (\ x__ y__ -> x__ {_AddressPattern'paymentPart = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField AddressPattern "maybe'paymentPart" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'paymentPart
           (\ x__ y__ -> x__ {_AddressPattern'paymentPart = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AddressPattern "delegationPart" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'delegationPart
           (\ x__ y__ -> x__ {_AddressPattern'delegationPart = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField AddressPattern "maybe'delegationPart" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'delegationPart
           (\ x__ y__ -> x__ {_AddressPattern'delegationPart = y__}))
        Prelude.id
instance Data.ProtoLens.Message AddressPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.AddressPattern"
  packedMessageDescriptor _
    = "\n\
      \\SOAddressPattern\DC2(\n\
      \\rexact_address\CAN\SOH \SOH(\fH\NULR\fexactAddress\136\SOH\SOH\DC2&\n\
      \\fpayment_part\CAN\STX \SOH(\fH\SOHR\vpaymentPart\136\SOH\SOH\DC2,\n\
      \\SIdelegation_part\CAN\ETX \SOH(\fH\STXR\SOdelegationPart\136\SOH\SOHB\DLE\n\
      \\SO_exact_addressB\SI\n\
      \\r_payment_partB\DC2\n\
      \\DLE_delegation_part"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        exactAddress__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "exact_address"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'exactAddress")) ::
              Data.ProtoLens.FieldDescriptor AddressPattern
        paymentPart__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "payment_part"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'paymentPart")) ::
              Data.ProtoLens.FieldDescriptor AddressPattern
        delegationPart__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "delegation_part"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'delegationPart")) ::
              Data.ProtoLens.FieldDescriptor AddressPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, exactAddress__field_descriptor),
           (Data.ProtoLens.Tag 2, paymentPart__field_descriptor),
           (Data.ProtoLens.Tag 3, delegationPart__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AddressPattern'_unknownFields
        (\ x__ y__ -> x__ {_AddressPattern'_unknownFields = y__})
  defMessage
    = AddressPattern'_constructor
        {_AddressPattern'exactAddress = Prelude.Nothing,
         _AddressPattern'paymentPart = Prelude.Nothing,
         _AddressPattern'delegationPart = Prelude.Nothing,
         _AddressPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AddressPattern
          -> Data.ProtoLens.Encoding.Bytes.Parser AddressPattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "exact_address"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"exactAddress") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "payment_part"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"paymentPart") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "delegation_part"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"delegationPart") y x)
                        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) "AddressPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'exactAddress") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'paymentPart") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'delegationPart") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData AddressPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AddressPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AddressPattern'exactAddress x__)
                (Control.DeepSeq.deepseq
                   (_AddressPattern'paymentPart x__)
                   (Control.DeepSeq.deepseq (_AddressPattern'delegationPart x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.url' @:: Lens' Anchor Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.contentHash' @:: Lens' Anchor Data.ByteString.ByteString@ -}
data Anchor
  = Anchor'_constructor {_Anchor'url :: !Data.Text.Text,
                         _Anchor'contentHash :: !Data.ByteString.ByteString,
                         _Anchor'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Anchor where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Anchor "url" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Anchor'url (\ x__ y__ -> x__ {_Anchor'url = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Anchor "contentHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Anchor'contentHash (\ x__ y__ -> x__ {_Anchor'contentHash = y__}))
        Prelude.id
instance Data.ProtoLens.Message Anchor where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Anchor"
  packedMessageDescriptor _
    = "\n\
      \\ACKAnchor\DC2\DLE\n\
      \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2!\n\
      \\fcontent_hash\CAN\STX \SOH(\fR\vcontentHash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        url__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "url"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"url")) ::
              Data.ProtoLens.FieldDescriptor Anchor
        contentHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "content_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"contentHash")) ::
              Data.ProtoLens.FieldDescriptor Anchor
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, url__field_descriptor),
           (Data.ProtoLens.Tag 2, contentHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Anchor'_unknownFields
        (\ x__ y__ -> x__ {_Anchor'_unknownFields = y__})
  defMessage
    = Anchor'_constructor
        {_Anchor'url = Data.ProtoLens.fieldDefault,
         _Anchor'contentHash = Data.ProtoLens.fieldDefault,
         _Anchor'_unknownFields = []}
  parseMessage
    = let
        loop :: Anchor -> Data.ProtoLens.Encoding.Bytes.Parser Anchor
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "url"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "content_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"contentHash") y x)
                        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) "Anchor"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"url") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"contentHash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Anchor where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Anchor'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Anchor'url x__)
                (Control.DeepSeq.deepseq (_Anchor'contentHash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.name' @:: Lens' Asset Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.quantity' @:: Lens' Asset BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'quantity' @:: Lens' Asset (Prelude.Maybe BigInt)@ -}
data Asset
  = Asset'_constructor {_Asset'name :: !Data.ByteString.ByteString,
                        _Asset'quantity :: !(Prelude.Maybe BigInt),
                        _Asset'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Asset where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Asset "name" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Asset'name (\ x__ y__ -> x__ {_Asset'name = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Asset "quantity" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Asset'quantity (\ x__ y__ -> x__ {_Asset'quantity = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Asset "maybe'quantity" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Asset'quantity (\ x__ y__ -> x__ {_Asset'quantity = y__}))
        Prelude.id
instance Data.ProtoLens.Message Asset where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Asset"
  packedMessageDescriptor _
    = "\n\
      \\ENQAsset\DC2\DC2\n\
      \\EOTname\CAN\SOH \SOH(\fR\EOTname\DC2:\n\
      \\bquantity\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\bquantity"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        name__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "name"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
              Data.ProtoLens.FieldDescriptor Asset
        quantity__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "quantity"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'quantity")) ::
              Data.ProtoLens.FieldDescriptor Asset
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, name__field_descriptor),
           (Data.ProtoLens.Tag 2, quantity__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Asset'_unknownFields
        (\ x__ y__ -> x__ {_Asset'_unknownFields = y__})
  defMessage
    = Asset'_constructor
        {_Asset'name = Data.ProtoLens.fieldDefault,
         _Asset'quantity = Prelude.Nothing, _Asset'_unknownFields = []}
  parseMessage
    = let
        loop :: Asset -> Data.ProtoLens.Encoding.Bytes.Parser Asset
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "name"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "quantity"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"quantity") y x)
                        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) "Asset"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'quantity") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Asset where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Asset'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Asset'name x__)
                (Control.DeepSeq.deepseq (_Asset'quantity x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.policyId' @:: Lens' AssetPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'policyId' @:: Lens' AssetPattern (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.assetName' @:: Lens' AssetPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'assetName' @:: Lens' AssetPattern (Prelude.Maybe Data.ByteString.ByteString)@ -}
data AssetPattern
  = AssetPattern'_constructor {_AssetPattern'policyId :: !(Prelude.Maybe Data.ByteString.ByteString),
                               _AssetPattern'assetName :: !(Prelude.Maybe Data.ByteString.ByteString),
                               _AssetPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AssetPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AssetPattern "policyId" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AssetPattern'policyId
           (\ x__ y__ -> x__ {_AssetPattern'policyId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField AssetPattern "maybe'policyId" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AssetPattern'policyId
           (\ x__ y__ -> x__ {_AssetPattern'policyId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AssetPattern "assetName" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AssetPattern'assetName
           (\ x__ y__ -> x__ {_AssetPattern'assetName = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField AssetPattern "maybe'assetName" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AssetPattern'assetName
           (\ x__ y__ -> x__ {_AssetPattern'assetName = y__}))
        Prelude.id
instance Data.ProtoLens.Message AssetPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.AssetPattern"
  packedMessageDescriptor _
    = "\n\
      \\fAssetPattern\DC2 \n\
      \\tpolicy_id\CAN\SOH \SOH(\fH\NULR\bpolicyId\136\SOH\SOH\DC2\"\n\
      \\n\
      \asset_name\CAN\STX \SOH(\fH\SOHR\tassetName\136\SOH\SOHB\f\n\
      \\n\
      \_policy_idB\r\n\
      \\v_asset_name"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        policyId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_id"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'policyId")) ::
              Data.ProtoLens.FieldDescriptor AssetPattern
        assetName__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "asset_name"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'assetName")) ::
              Data.ProtoLens.FieldDescriptor AssetPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, policyId__field_descriptor),
           (Data.ProtoLens.Tag 2, assetName__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AssetPattern'_unknownFields
        (\ x__ y__ -> x__ {_AssetPattern'_unknownFields = y__})
  defMessage
    = AssetPattern'_constructor
        {_AssetPattern'policyId = Prelude.Nothing,
         _AssetPattern'assetName = Prelude.Nothing,
         _AssetPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AssetPattern -> Data.ProtoLens.Encoding.Bytes.Parser AssetPattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "asset_name"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"assetName") y x)
                        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) "AssetPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'policyId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'assetName") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData AssetPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AssetPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AssetPattern'policyId x__)
                (Control.DeepSeq.deepseq (_AssetPattern'assetName x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeColdCredential' @:: Lens' AuthCommitteeHotCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeColdCredential' @:: Lens' AuthCommitteeHotCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeHotCredential' @:: Lens' AuthCommitteeHotCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeHotCredential' @:: Lens' AuthCommitteeHotCert (Prelude.Maybe StakeCredential)@ -}
data AuthCommitteeHotCert
  = AuthCommitteeHotCert'_constructor {_AuthCommitteeHotCert'committeeColdCredential :: !(Prelude.Maybe StakeCredential),
                                       _AuthCommitteeHotCert'committeeHotCredential :: !(Prelude.Maybe StakeCredential),
                                       _AuthCommitteeHotCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AuthCommitteeHotCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "committeeColdCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeColdCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "maybe'committeeColdCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeColdCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "committeeHotCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeHotCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeHotCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "maybe'committeeHotCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeHotCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeHotCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Message AuthCommitteeHotCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.AuthCommitteeHotCert"
  packedMessageDescriptor _
    = "\n\
      \\DC4AuthCommitteeHotCert\DC2c\n\
      \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2a\n\
      \\CANcommittee_hot_credential\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SYNcommitteeHotCredential"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        committeeColdCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_cold_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeColdCredential")) ::
              Data.ProtoLens.FieldDescriptor AuthCommitteeHotCert
        committeeHotCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_hot_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeHotCredential")) ::
              Data.ProtoLens.FieldDescriptor AuthCommitteeHotCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, committeeColdCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, committeeHotCredential__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AuthCommitteeHotCert'_unknownFields
        (\ x__ y__ -> x__ {_AuthCommitteeHotCert'_unknownFields = y__})
  defMessage
    = AuthCommitteeHotCert'_constructor
        {_AuthCommitteeHotCert'committeeColdCredential = Prelude.Nothing,
         _AuthCommitteeHotCert'committeeHotCredential = Prelude.Nothing,
         _AuthCommitteeHotCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AuthCommitteeHotCert
          -> Data.ProtoLens.Encoding.Bytes.Parser AuthCommitteeHotCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_cold_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeColdCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_hot_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeHotCredential") y x)
                        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) "AuthCommitteeHotCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'committeeColdCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'committeeHotCredential") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData AuthCommitteeHotCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AuthCommitteeHotCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AuthCommitteeHotCert'committeeColdCredential x__)
                (Control.DeepSeq.deepseq
                   (_AuthCommitteeHotCert'committeeHotCredential x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.metadata' @:: Lens' AuxData [Metadata]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'metadata' @:: Lens' AuxData (Data.Vector.Vector Metadata)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scripts' @:: Lens' AuxData [Script]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'scripts' @:: Lens' AuxData (Data.Vector.Vector Script)@ -}
data AuxData
  = AuxData'_constructor {_AuxData'metadata :: !(Data.Vector.Vector Metadata),
                          _AuxData'scripts :: !(Data.Vector.Vector Script),
                          _AuxData'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AuxData where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AuxData "metadata" [Metadata] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'metadata (\ x__ y__ -> x__ {_AuxData'metadata = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField AuxData "vec'metadata" (Data.Vector.Vector Metadata) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'metadata (\ x__ y__ -> x__ {_AuxData'metadata = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AuxData "scripts" [Script] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'scripts (\ x__ y__ -> x__ {_AuxData'scripts = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField AuxData "vec'scripts" (Data.Vector.Vector Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'scripts (\ x__ y__ -> x__ {_AuxData'scripts = y__}))
        Prelude.id
instance Data.ProtoLens.Message AuxData where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.AuxData"
  packedMessageDescriptor _
    = "\n\
      \\aAuxData\DC2<\n\
      \\bmetadata\CAN\SOH \ETX(\v2 .utxorpc.v1beta.cardano.MetadataR\bmetadata\DC28\n\
      \\ascripts\CAN\STX \ETX(\v2\RS.utxorpc.v1beta.cardano.ScriptR\ascripts"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        metadata__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "metadata"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadata)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"metadata")) ::
              Data.ProtoLens.FieldDescriptor AuxData
        scripts__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "scripts"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Script)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"scripts")) ::
              Data.ProtoLens.FieldDescriptor AuxData
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, metadata__field_descriptor),
           (Data.ProtoLens.Tag 2, scripts__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AuxData'_unknownFields
        (\ x__ y__ -> x__ {_AuxData'_unknownFields = y__})
  defMessage
    = AuxData'_constructor
        {_AuxData'metadata = Data.Vector.Generic.empty,
         _AuxData'scripts = Data.Vector.Generic.empty,
         _AuxData'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AuxData
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Metadata
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Script
                -> Data.ProtoLens.Encoding.Bytes.Parser AuxData
        loop x mutable'metadata mutable'scripts
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'metadata <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                           (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                              mutable'metadata)
                      frozen'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                             mutable'scripts)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'metadata") frozen'metadata
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'scripts") frozen'scripts x)))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "metadata"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'metadata y)
                                loop x v mutable'scripts
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "scripts"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'scripts y)
                                loop x mutable'metadata v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'metadata mutable'scripts
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'metadata <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                    Data.ProtoLens.Encoding.Growing.new
              mutable'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                   Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'metadata mutable'scripts)
          "AuxData"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'metadata") _x))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'scripts") _x))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData AuxData where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AuxData'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AuxData'metadata x__)
                (Control.DeepSeq.deepseq (_AuxData'scripts x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'bigInt' @:: Lens' BigInt (Prelude.Maybe BigInt'BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'int' @:: Lens' BigInt (Prelude.Maybe Data.Int.Int64)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.int' @:: Lens' BigInt Data.Int.Int64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'bigUInt' @:: Lens' BigInt (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.bigUInt' @:: Lens' BigInt Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'bigNInt' @:: Lens' BigInt (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.bigNInt' @:: Lens' BigInt Data.ByteString.ByteString@ -}
data BigInt
  = BigInt'_constructor {_BigInt'bigInt :: !(Prelude.Maybe BigInt'BigInt),
                         _BigInt'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BigInt where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data BigInt'BigInt
  = BigInt'Int !Data.Int.Int64 |
    BigInt'BigUInt !Data.ByteString.ByteString |
    BigInt'BigNInt !Data.ByteString.ByteString
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField BigInt "maybe'bigInt" (Prelude.Maybe BigInt'BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BigInt "maybe'int" (Prelude.Maybe Data.Int.Int64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (BigInt'Int x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap BigInt'Int y__))
instance Data.ProtoLens.Field.HasField BigInt "int" Data.Int.Int64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (BigInt'Int x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap BigInt'Int y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField BigInt "maybe'bigUInt" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (BigInt'BigUInt x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap BigInt'BigUInt y__))
instance Data.ProtoLens.Field.HasField BigInt "bigUInt" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (BigInt'BigUInt x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap BigInt'BigUInt y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField BigInt "maybe'bigNInt" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (BigInt'BigNInt x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap BigInt'BigNInt y__))
instance Data.ProtoLens.Field.HasField BigInt "bigNInt" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (BigInt'BigNInt x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap BigInt'BigNInt y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message BigInt where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.BigInt"
  packedMessageDescriptor _
    = "\n\
      \\ACKBigInt\DC2\DC2\n\
      \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\FS\n\
      \\tbig_u_int\CAN\STX \SOH(\fH\NULR\abigUInt\DC2\FS\n\
      \\tbig_n_int\CAN\ETX \SOH(\fH\NULR\abigNIntB\t\n\
      \\abig_int"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        int__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'int")) ::
              Data.ProtoLens.FieldDescriptor BigInt
        bigUInt__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "big_u_int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bigUInt")) ::
              Data.ProtoLens.FieldDescriptor BigInt
        bigNInt__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "big_n_int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bigNInt")) ::
              Data.ProtoLens.FieldDescriptor BigInt
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, int__field_descriptor),
           (Data.ProtoLens.Tag 2, bigUInt__field_descriptor),
           (Data.ProtoLens.Tag 3, bigNInt__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BigInt'_unknownFields
        (\ x__ y__ -> x__ {_BigInt'_unknownFields = y__})
  defMessage
    = BigInt'_constructor
        {_BigInt'bigInt = Prelude.Nothing, _BigInt'_unknownFields = []}
  parseMessage
    = let
        loop :: BigInt -> Data.ProtoLens.Encoding.Bytes.Parser BigInt
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"int") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "big_u_int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bigUInt") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "big_n_int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bigNInt") y x)
                        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) "BigInt"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'bigInt") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (BigInt'Int v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral v)
                (Prelude.Just (BigInt'BigUInt v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (BigInt'BigNInt v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData BigInt where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BigInt'_unknownFields x__)
             (Control.DeepSeq.deepseq (_BigInt'bigInt x__) ())
instance Control.DeepSeq.NFData BigInt'BigInt where
  rnf (BigInt'Int x__) = Control.DeepSeq.rnf x__
  rnf (BigInt'BigUInt x__) = Control.DeepSeq.rnf x__
  rnf (BigInt'BigNInt x__) = Control.DeepSeq.rnf x__
_BigInt'Int ::
  Data.ProtoLens.Prism.Prism' BigInt'BigInt Data.Int.Int64
_BigInt'Int
  = Data.ProtoLens.Prism.prism'
      BigInt'Int
      (\ p__
         -> case p__ of
              (BigInt'Int p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_BigInt'BigUInt ::
  Data.ProtoLens.Prism.Prism' BigInt'BigInt Data.ByteString.ByteString
_BigInt'BigUInt
  = Data.ProtoLens.Prism.prism'
      BigInt'BigUInt
      (\ p__
         -> case p__ of
              (BigInt'BigUInt p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_BigInt'BigNInt ::
  Data.ProtoLens.Prism.Prism' BigInt'BigInt Data.ByteString.ByteString
_BigInt'BigNInt
  = Data.ProtoLens.Prism.prism'
      BigInt'BigNInt
      (\ p__
         -> case p__ of
              (BigInt'BigNInt p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.header' @:: Lens' Block BlockHeader@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'header' @:: Lens' Block (Prelude.Maybe BlockHeader)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.body' @:: Lens' Block BlockBody@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'body' @:: Lens' Block (Prelude.Maybe BlockBody)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.timestamp' @:: Lens' Block Data.Word.Word64@ -}
data Block
  = Block'_constructor {_Block'header :: !(Prelude.Maybe BlockHeader),
                        _Block'body :: !(Prelude.Maybe BlockBody),
                        _Block'timestamp :: !Data.Word.Word64,
                        _Block'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Block where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Block "header" BlockHeader where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'header (\ x__ y__ -> x__ {_Block'header = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Block "maybe'header" (Prelude.Maybe BlockHeader) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'header (\ x__ y__ -> x__ {_Block'header = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Block "body" BlockBody where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'body (\ x__ y__ -> x__ {_Block'body = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Block "maybe'body" (Prelude.Maybe BlockBody) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'body (\ x__ y__ -> x__ {_Block'body = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Block "timestamp" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'timestamp (\ x__ y__ -> x__ {_Block'timestamp = y__}))
        Prelude.id
instance Data.ProtoLens.Message Block where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Block"
  packedMessageDescriptor _
    = "\n\
      \\ENQBlock\DC2;\n\
      \\ACKheader\CAN\SOH \SOH(\v2#.utxorpc.v1beta.cardano.BlockHeaderR\ACKheader\DC25\n\
      \\EOTbody\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.BlockBodyR\EOTbody\DC2\FS\n\
      \\ttimestamp\CAN\ETX \SOH(\EOTR\ttimestamp"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        header__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "header"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BlockHeader)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'header")) ::
              Data.ProtoLens.FieldDescriptor Block
        body__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "body"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BlockBody)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'body")) ::
              Data.ProtoLens.FieldDescriptor Block
        timestamp__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "timestamp"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"timestamp")) ::
              Data.ProtoLens.FieldDescriptor Block
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, header__field_descriptor),
           (Data.ProtoLens.Tag 2, body__field_descriptor),
           (Data.ProtoLens.Tag 3, timestamp__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Block'_unknownFields
        (\ x__ y__ -> x__ {_Block'_unknownFields = y__})
  defMessage
    = Block'_constructor
        {_Block'header = Prelude.Nothing, _Block'body = Prelude.Nothing,
         _Block'timestamp = Data.ProtoLens.fieldDefault,
         _Block'_unknownFields = []}
  parseMessage
    = let
        loop :: Block -> Data.ProtoLens.Encoding.Bytes.Parser Block
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "header"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"header") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "body"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"body") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "timestamp"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x)
                        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) "Block"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'header") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'body") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"timestamp") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Block where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Block'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Block'header x__)
                (Control.DeepSeq.deepseq
                   (_Block'body x__)
                   (Control.DeepSeq.deepseq (_Block'timestamp x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.tx' @:: Lens' BlockBody [Tx]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'tx' @:: Lens' BlockBody (Data.Vector.Vector Tx)@ -}
data BlockBody
  = BlockBody'_constructor {_BlockBody'tx :: !(Data.Vector.Vector Tx),
                            _BlockBody'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BlockBody where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField BlockBody "tx" [Tx] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockBody'tx (\ x__ y__ -> x__ {_BlockBody'tx = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField BlockBody "vec'tx" (Data.Vector.Vector Tx) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockBody'tx (\ x__ y__ -> x__ {_BlockBody'tx = y__}))
        Prelude.id
instance Data.ProtoLens.Message BlockBody where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.BlockBody"
  packedMessageDescriptor _
    = "\n\
      \\tBlockBody\DC2*\n\
      \\STXtx\CAN\SOH \ETX(\v2\SUB.utxorpc.v1beta.cardano.TxR\STXtx"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        tx__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tx"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Tx)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"tx")) ::
              Data.ProtoLens.FieldDescriptor BlockBody
      in Data.Map.fromList [(Data.ProtoLens.Tag 1, tx__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BlockBody'_unknownFields
        (\ x__ y__ -> x__ {_BlockBody'_unknownFields = y__})
  defMessage
    = BlockBody'_constructor
        {_BlockBody'tx = Data.Vector.Generic.empty,
         _BlockBody'_unknownFields = []}
  parseMessage
    = let
        loop ::
          BlockBody
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Tx
             -> Data.ProtoLens.Encoding.Bytes.Parser BlockBody
        loop x mutable'tx
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'tx <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'tx)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'tx") frozen'tx x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "tx"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'tx 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'tx
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'tx <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                              Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'tx)
          "BlockBody"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'tx") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData BlockBody where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BlockBody'_unknownFields x__)
             (Control.DeepSeq.deepseq (_BlockBody'tx x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.slot' @:: Lens' BlockHeader Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hash' @:: Lens' BlockHeader Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.height' @:: Lens' BlockHeader Data.Word.Word64@ -}
data BlockHeader
  = BlockHeader'_constructor {_BlockHeader'slot :: !Data.Word.Word64,
                              _BlockHeader'hash :: !Data.ByteString.ByteString,
                              _BlockHeader'height :: !Data.Word.Word64,
                              _BlockHeader'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BlockHeader where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField BlockHeader "slot" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockHeader'slot (\ x__ y__ -> x__ {_BlockHeader'slot = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockHeader "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockHeader'hash (\ x__ y__ -> x__ {_BlockHeader'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockHeader "height" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockHeader'height (\ x__ y__ -> x__ {_BlockHeader'height = y__}))
        Prelude.id
instance Data.ProtoLens.Message BlockHeader where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.BlockHeader"
  packedMessageDescriptor _
    = "\n\
      \\vBlockHeader\DC2\DC2\n\
      \\EOTslot\CAN\SOH \SOH(\EOTR\EOTslot\DC2\DC2\n\
      \\EOThash\CAN\STX \SOH(\fR\EOThash\DC2\SYN\n\
      \\ACKheight\CAN\ETX \SOH(\EOTR\ACKheight"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        slot__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "slot"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"slot")) ::
              Data.ProtoLens.FieldDescriptor BlockHeader
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor BlockHeader
        height__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "height"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"height")) ::
              Data.ProtoLens.FieldDescriptor BlockHeader
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, slot__field_descriptor),
           (Data.ProtoLens.Tag 2, hash__field_descriptor),
           (Data.ProtoLens.Tag 3, height__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BlockHeader'_unknownFields
        (\ x__ y__ -> x__ {_BlockHeader'_unknownFields = y__})
  defMessage
    = BlockHeader'_constructor
        {_BlockHeader'slot = Data.ProtoLens.fieldDefault,
         _BlockHeader'hash = Data.ProtoLens.fieldDefault,
         _BlockHeader'height = Data.ProtoLens.fieldDefault,
         _BlockHeader'_unknownFields = []}
  parseMessage
    = let
        loop ::
          BlockHeader -> Data.ProtoLens.Encoding.Bytes.Parser BlockHeader
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "slot"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"slot") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "height"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"height") y x)
                        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) "BlockHeader"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"slot") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"height") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData BlockHeader where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BlockHeader'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_BlockHeader'slot x__)
                (Control.DeepSeq.deepseq
                   (_BlockHeader'hash x__)
                   (Control.DeepSeq.deepseq (_BlockHeader'height x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scriptVersion' @:: Lens' BlockVersionData Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.slotDuration' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxBlockSize' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxHeaderSize' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxTxSize' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxProposalSize' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.mpcThd' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.heavyDelThd' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.updateVoteThd' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.updateProposalThd' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.updateImplicit' @:: Lens' BlockVersionData Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.softforkRule' @:: Lens' BlockVersionData SoftforkRule@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'softforkRule' @:: Lens' BlockVersionData (Prelude.Maybe SoftforkRule)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.txFeePolicy' @:: Lens' BlockVersionData TxFeePolicy@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'txFeePolicy' @:: Lens' BlockVersionData (Prelude.Maybe TxFeePolicy)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.unlockStakeEpoch' @:: Lens' BlockVersionData Data.Text.Text@ -}
data BlockVersionData
  = BlockVersionData'_constructor {_BlockVersionData'scriptVersion :: !Data.Word.Word32,
                                   _BlockVersionData'slotDuration :: !Data.Text.Text,
                                   _BlockVersionData'maxBlockSize :: !Data.Text.Text,
                                   _BlockVersionData'maxHeaderSize :: !Data.Text.Text,
                                   _BlockVersionData'maxTxSize :: !Data.Text.Text,
                                   _BlockVersionData'maxProposalSize :: !Data.Text.Text,
                                   _BlockVersionData'mpcThd :: !Data.Text.Text,
                                   _BlockVersionData'heavyDelThd :: !Data.Text.Text,
                                   _BlockVersionData'updateVoteThd :: !Data.Text.Text,
                                   _BlockVersionData'updateProposalThd :: !Data.Text.Text,
                                   _BlockVersionData'updateImplicit :: !Data.Text.Text,
                                   _BlockVersionData'softforkRule :: !(Prelude.Maybe SoftforkRule),
                                   _BlockVersionData'txFeePolicy :: !(Prelude.Maybe TxFeePolicy),
                                   _BlockVersionData'unlockStakeEpoch :: !Data.Text.Text,
                                   _BlockVersionData'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BlockVersionData where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField BlockVersionData "scriptVersion" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'scriptVersion
           (\ x__ y__ -> x__ {_BlockVersionData'scriptVersion = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "slotDuration" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'slotDuration
           (\ x__ y__ -> x__ {_BlockVersionData'slotDuration = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "maxBlockSize" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'maxBlockSize
           (\ x__ y__ -> x__ {_BlockVersionData'maxBlockSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "maxHeaderSize" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'maxHeaderSize
           (\ x__ y__ -> x__ {_BlockVersionData'maxHeaderSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "maxTxSize" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'maxTxSize
           (\ x__ y__ -> x__ {_BlockVersionData'maxTxSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "maxProposalSize" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'maxProposalSize
           (\ x__ y__ -> x__ {_BlockVersionData'maxProposalSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "mpcThd" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'mpcThd
           (\ x__ y__ -> x__ {_BlockVersionData'mpcThd = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "heavyDelThd" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'heavyDelThd
           (\ x__ y__ -> x__ {_BlockVersionData'heavyDelThd = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "updateVoteThd" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'updateVoteThd
           (\ x__ y__ -> x__ {_BlockVersionData'updateVoteThd = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "updateProposalThd" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'updateProposalThd
           (\ x__ y__ -> x__ {_BlockVersionData'updateProposalThd = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "updateImplicit" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'updateImplicit
           (\ x__ y__ -> x__ {_BlockVersionData'updateImplicit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "softforkRule" SoftforkRule where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'softforkRule
           (\ x__ y__ -> x__ {_BlockVersionData'softforkRule = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField BlockVersionData "maybe'softforkRule" (Prelude.Maybe SoftforkRule) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'softforkRule
           (\ x__ y__ -> x__ {_BlockVersionData'softforkRule = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "txFeePolicy" TxFeePolicy where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'txFeePolicy
           (\ x__ y__ -> x__ {_BlockVersionData'txFeePolicy = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField BlockVersionData "maybe'txFeePolicy" (Prelude.Maybe TxFeePolicy) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'txFeePolicy
           (\ x__ y__ -> x__ {_BlockVersionData'txFeePolicy = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockVersionData "unlockStakeEpoch" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockVersionData'unlockStakeEpoch
           (\ x__ y__ -> x__ {_BlockVersionData'unlockStakeEpoch = y__}))
        Prelude.id
instance Data.ProtoLens.Message BlockVersionData where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.BlockVersionData"
  packedMessageDescriptor _
    = "\n\
      \\DLEBlockVersionData\DC2%\n\
      \\SOscript_version\CAN\SOH \SOH(\rR\rscriptVersion\DC2#\n\
      \\rslot_duration\CAN\STX \SOH(\tR\fslotDuration\DC2$\n\
      \\SOmax_block_size\CAN\ETX \SOH(\tR\fmaxBlockSize\DC2&\n\
      \\SImax_header_size\CAN\EOT \SOH(\tR\rmaxHeaderSize\DC2\RS\n\
      \\vmax_tx_size\CAN\ENQ \SOH(\tR\tmaxTxSize\DC2*\n\
      \\DC1max_proposal_size\CAN\ACK \SOH(\tR\SImaxProposalSize\DC2\ETB\n\
      \\ampc_thd\CAN\a \SOH(\tR\ACKmpcThd\DC2\"\n\
      \\rheavy_del_thd\CAN\b \SOH(\tR\vheavyDelThd\DC2&\n\
      \\SIupdate_vote_thd\CAN\t \SOH(\tR\rupdateVoteThd\DC2.\n\
      \\DC3update_proposal_thd\CAN\n\
      \ \SOH(\tR\DC1updateProposalThd\DC2'\n\
      \\SIupdate_implicit\CAN\v \SOH(\tR\SOupdateImplicit\DC2I\n\
      \\rsoftfork_rule\CAN\f \SOH(\v2$.utxorpc.v1beta.cardano.SoftforkRuleR\fsoftforkRule\DC2G\n\
      \\rtx_fee_policy\CAN\r \SOH(\v2#.utxorpc.v1beta.cardano.TxFeePolicyR\vtxFeePolicy\DC2,\n\
      \\DC2unlock_stake_epoch\CAN\SO \SOH(\tR\DLEunlockStakeEpoch"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        scriptVersion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_version"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"scriptVersion")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        slotDuration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "slot_duration"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"slotDuration")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        maxBlockSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_block_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxBlockSize")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        maxHeaderSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_header_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxHeaderSize")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        maxTxSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_tx_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxTxSize")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        maxProposalSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_proposal_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxProposalSize")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        mpcThd__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mpc_thd"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"mpcThd")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        heavyDelThd__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "heavy_del_thd"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"heavyDelThd")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        updateVoteThd__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_vote_thd"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"updateVoteThd")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        updateProposalThd__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_proposal_thd"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"updateProposalThd")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        updateImplicit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_implicit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"updateImplicit")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        softforkRule__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "softfork_rule"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor SoftforkRule)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'softforkRule")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        txFeePolicy__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tx_fee_policy"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxFeePolicy)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'txFeePolicy")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
        unlockStakeEpoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "unlock_stake_epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"unlockStakeEpoch")) ::
              Data.ProtoLens.FieldDescriptor BlockVersionData
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, scriptVersion__field_descriptor),
           (Data.ProtoLens.Tag 2, slotDuration__field_descriptor),
           (Data.ProtoLens.Tag 3, maxBlockSize__field_descriptor),
           (Data.ProtoLens.Tag 4, maxHeaderSize__field_descriptor),
           (Data.ProtoLens.Tag 5, maxTxSize__field_descriptor),
           (Data.ProtoLens.Tag 6, maxProposalSize__field_descriptor),
           (Data.ProtoLens.Tag 7, mpcThd__field_descriptor),
           (Data.ProtoLens.Tag 8, heavyDelThd__field_descriptor),
           (Data.ProtoLens.Tag 9, updateVoteThd__field_descriptor),
           (Data.ProtoLens.Tag 10, updateProposalThd__field_descriptor),
           (Data.ProtoLens.Tag 11, updateImplicit__field_descriptor),
           (Data.ProtoLens.Tag 12, softforkRule__field_descriptor),
           (Data.ProtoLens.Tag 13, txFeePolicy__field_descriptor),
           (Data.ProtoLens.Tag 14, unlockStakeEpoch__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BlockVersionData'_unknownFields
        (\ x__ y__ -> x__ {_BlockVersionData'_unknownFields = y__})
  defMessage
    = BlockVersionData'_constructor
        {_BlockVersionData'scriptVersion = Data.ProtoLens.fieldDefault,
         _BlockVersionData'slotDuration = Data.ProtoLens.fieldDefault,
         _BlockVersionData'maxBlockSize = Data.ProtoLens.fieldDefault,
         _BlockVersionData'maxHeaderSize = Data.ProtoLens.fieldDefault,
         _BlockVersionData'maxTxSize = Data.ProtoLens.fieldDefault,
         _BlockVersionData'maxProposalSize = Data.ProtoLens.fieldDefault,
         _BlockVersionData'mpcThd = Data.ProtoLens.fieldDefault,
         _BlockVersionData'heavyDelThd = Data.ProtoLens.fieldDefault,
         _BlockVersionData'updateVoteThd = Data.ProtoLens.fieldDefault,
         _BlockVersionData'updateProposalThd = Data.ProtoLens.fieldDefault,
         _BlockVersionData'updateImplicit = Data.ProtoLens.fieldDefault,
         _BlockVersionData'softforkRule = Prelude.Nothing,
         _BlockVersionData'txFeePolicy = Prelude.Nothing,
         _BlockVersionData'unlockStakeEpoch = Data.ProtoLens.fieldDefault,
         _BlockVersionData'_unknownFields = []}
  parseMessage
    = let
        loop ::
          BlockVersionData
          -> Data.ProtoLens.Encoding.Bytes.Parser BlockVersionData
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "script_version"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"scriptVersion") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "slot_duration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"slotDuration") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "max_block_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxBlockSize") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "max_header_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxHeaderSize") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "max_tx_size"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"maxTxSize") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "max_proposal_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxProposalSize") y x)
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "mpc_thd"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"mpcThd") y x)
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "heavy_del_thd"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"heavyDelThd") y x)
                        74
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "update_vote_thd"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateVoteThd") y x)
                        82
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "update_proposal_thd"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateProposalThd") y x)
                        90
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "update_implicit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateImplicit") y x)
                        98
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "softfork_rule"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"softforkRule") y x)
                        106
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "tx_fee_policy"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"txFeePolicy") y x)
                        114
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "unlock_stake_epoch"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"unlockStakeEpoch") y x)
                        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) "BlockVersionData"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"scriptVersion") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"slotDuration") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"maxBlockSize") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((Prelude..)
                               (\ bs
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               Data.Text.Encoding.encodeUtf8 _v))
                   ((Data.Monoid.<>)
                      (let
                         _v
                           = Lens.Family2.view
                               (Data.ProtoLens.Field.field @"maxHeaderSize") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                               ((Prelude..)
                                  (\ bs
                                     -> (Data.Monoid.<>)
                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                             (Prelude.fromIntegral (Data.ByteString.length bs)))
                                          (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                  Data.Text.Encoding.encodeUtf8 _v))
                      ((Data.Monoid.<>)
                         (let
                            _v = Lens.Family2.view (Data.ProtoLens.Field.field @"maxTxSize") _x
                          in
                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                Data.Monoid.mempty
                            else
                                (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                  ((Prelude..)
                                     (\ bs
                                        -> (Data.Monoid.<>)
                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                (Prelude.fromIntegral (Data.ByteString.length bs)))
                                             (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                     Data.Text.Encoding.encodeUtf8 _v))
                         ((Data.Monoid.<>)
                            (let
                               _v
                                 = Lens.Family2.view
                                     (Data.ProtoLens.Field.field @"maxProposalSize") _x
                             in
                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                   Data.Monoid.mempty
                               else
                                   (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                     ((Prelude..)
                                        (\ bs
                                           -> (Data.Monoid.<>)
                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                   (Prelude.fromIntegral
                                                      (Data.ByteString.length bs)))
                                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                        Data.Text.Encoding.encodeUtf8 _v))
                            ((Data.Monoid.<>)
                               (let
                                  _v = Lens.Family2.view (Data.ProtoLens.Field.field @"mpcThd") _x
                                in
                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                      Data.Monoid.mempty
                                  else
                                      (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                        ((Prelude..)
                                           (\ bs
                                              -> (Data.Monoid.<>)
                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                      (Prelude.fromIntegral
                                                         (Data.ByteString.length bs)))
                                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                           Data.Text.Encoding.encodeUtf8 _v))
                               ((Data.Monoid.<>)
                                  (let
                                     _v
                                       = Lens.Family2.view
                                           (Data.ProtoLens.Field.field @"heavyDelThd") _x
                                   in
                                     if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                         Data.Monoid.mempty
                                     else
                                         (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                           ((Prelude..)
                                              (\ bs
                                                 -> (Data.Monoid.<>)
                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                         (Prelude.fromIntegral
                                                            (Data.ByteString.length bs)))
                                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                              Data.Text.Encoding.encodeUtf8 _v))
                                  ((Data.Monoid.<>)
                                     (let
                                        _v
                                          = Lens.Family2.view
                                              (Data.ProtoLens.Field.field @"updateVoteThd") _x
                                      in
                                        if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                            Data.Monoid.mempty
                                        else
                                            (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                                              ((Prelude..)
                                                 (\ bs
                                                    -> (Data.Monoid.<>)
                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                            (Prelude.fromIntegral
                                                               (Data.ByteString.length bs)))
                                                         (Data.ProtoLens.Encoding.Bytes.putBytes
                                                            bs))
                                                 Data.Text.Encoding.encodeUtf8 _v))
                                     ((Data.Monoid.<>)
                                        (let
                                           _v
                                             = Lens.Family2.view
                                                 (Data.ProtoLens.Field.field @"updateProposalThd")
                                                 _x
                                         in
                                           if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                               Data.Monoid.mempty
                                           else
                                               (Data.Monoid.<>)
                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
                                                 ((Prelude..)
                                                    (\ bs
                                                       -> (Data.Monoid.<>)
                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                               (Prelude.fromIntegral
                                                                  (Data.ByteString.length bs)))
                                                            (Data.ProtoLens.Encoding.Bytes.putBytes
                                                               bs))
                                                    Data.Text.Encoding.encodeUtf8 _v))
                                        ((Data.Monoid.<>)
                                           (let
                                              _v
                                                = Lens.Family2.view
                                                    (Data.ProtoLens.Field.field @"updateImplicit")
                                                    _x
                                            in
                                              if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                                  Data.Monoid.mempty
                                              else
                                                  (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
                                                    ((Prelude..)
                                                       (\ bs
                                                          -> (Data.Monoid.<>)
                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                  (Prelude.fromIntegral
                                                                     (Data.ByteString.length bs)))
                                                               (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                  bs))
                                                       Data.Text.Encoding.encodeUtf8 _v))
                                           ((Data.Monoid.<>)
                                              (case
                                                   Lens.Family2.view
                                                     (Data.ProtoLens.Field.field
                                                        @"maybe'softforkRule")
                                                     _x
                                               of
                                                 Prelude.Nothing -> Data.Monoid.mempty
                                                 (Prelude.Just _v)
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
                                                        ((Prelude..)
                                                           (\ bs
                                                              -> (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      (Prelude.fromIntegral
                                                                         (Data.ByteString.length
                                                                            bs)))
                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                      bs))
                                                           Data.ProtoLens.encodeMessage _v))
                                              ((Data.Monoid.<>)
                                                 (case
                                                      Lens.Family2.view
                                                        (Data.ProtoLens.Field.field
                                                           @"maybe'txFeePolicy")
                                                        _x
                                                  of
                                                    Prelude.Nothing -> Data.Monoid.mempty
                                                    (Prelude.Just _v)
                                                      -> (Data.Monoid.<>)
                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                              106)
                                                           ((Prelude..)
                                                              (\ bs
                                                                 -> (Data.Monoid.<>)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         (Prelude.fromIntegral
                                                                            (Data.ByteString.length
                                                                               bs)))
                                                                      (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                         bs))
                                                              Data.ProtoLens.encodeMessage _v))
                                                 ((Data.Monoid.<>)
                                                    (let
                                                       _v
                                                         = Lens.Family2.view
                                                             (Data.ProtoLens.Field.field
                                                                @"unlockStakeEpoch")
                                                             _x
                                                     in
                                                       if (Prelude.==)
                                                            _v Data.ProtoLens.fieldDefault then
                                                           Data.Monoid.mempty
                                                       else
                                                           (Data.Monoid.<>)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                114)
                                                             ((Prelude..)
                                                                (\ bs
                                                                   -> (Data.Monoid.<>)
                                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                           (Prelude.fromIntegral
                                                                              (Data.ByteString.length
                                                                                 bs)))
                                                                        (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                           bs))
                                                                Data.Text.Encoding.encodeUtf8 _v))
                                                    (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                                       (Lens.Family2.view
                                                          Data.ProtoLens.unknownFields
                                                          _x)))))))))))))))
instance Control.DeepSeq.NFData BlockVersionData where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BlockVersionData'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_BlockVersionData'scriptVersion x__)
                (Control.DeepSeq.deepseq
                   (_BlockVersionData'slotDuration x__)
                   (Control.DeepSeq.deepseq
                      (_BlockVersionData'maxBlockSize x__)
                      (Control.DeepSeq.deepseq
                         (_BlockVersionData'maxHeaderSize x__)
                         (Control.DeepSeq.deepseq
                            (_BlockVersionData'maxTxSize x__)
                            (Control.DeepSeq.deepseq
                               (_BlockVersionData'maxProposalSize x__)
                               (Control.DeepSeq.deepseq
                                  (_BlockVersionData'mpcThd x__)
                                  (Control.DeepSeq.deepseq
                                     (_BlockVersionData'heavyDelThd x__)
                                     (Control.DeepSeq.deepseq
                                        (_BlockVersionData'updateVoteThd x__)
                                        (Control.DeepSeq.deepseq
                                           (_BlockVersionData'updateProposalThd x__)
                                           (Control.DeepSeq.deepseq
                                              (_BlockVersionData'updateImplicit x__)
                                              (Control.DeepSeq.deepseq
                                                 (_BlockVersionData'softforkRule x__)
                                                 (Control.DeepSeq.deepseq
                                                    (_BlockVersionData'txFeePolicy x__)
                                                    (Control.DeepSeq.deepseq
                                                       (_BlockVersionData'unlockStakeEpoch x__)
                                                       ()))))))))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vkey' @:: Lens' BootstrapWitness Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.signature' @:: Lens' BootstrapWitness Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.chainCode' @:: Lens' BootstrapWitness Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.attributes' @:: Lens' BootstrapWitness Data.ByteString.ByteString@ -}
data BootstrapWitness
  = BootstrapWitness'_constructor {_BootstrapWitness'vkey :: !Data.ByteString.ByteString,
                                   _BootstrapWitness'signature :: !Data.ByteString.ByteString,
                                   _BootstrapWitness'chainCode :: !Data.ByteString.ByteString,
                                   _BootstrapWitness'attributes :: !Data.ByteString.ByteString,
                                   _BootstrapWitness'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BootstrapWitness where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField BootstrapWitness "vkey" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BootstrapWitness'vkey
           (\ x__ y__ -> x__ {_BootstrapWitness'vkey = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BootstrapWitness "signature" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BootstrapWitness'signature
           (\ x__ y__ -> x__ {_BootstrapWitness'signature = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BootstrapWitness "chainCode" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BootstrapWitness'chainCode
           (\ x__ y__ -> x__ {_BootstrapWitness'chainCode = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BootstrapWitness "attributes" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BootstrapWitness'attributes
           (\ x__ y__ -> x__ {_BootstrapWitness'attributes = y__}))
        Prelude.id
instance Data.ProtoLens.Message BootstrapWitness where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.BootstrapWitness"
  packedMessageDescriptor _
    = "\n\
      \\DLEBootstrapWitness\DC2\DC2\n\
      \\EOTvkey\CAN\SOH \SOH(\fR\EOTvkey\DC2\FS\n\
      \\tsignature\CAN\STX \SOH(\fR\tsignature\DC2\GS\n\
      \\n\
      \chain_code\CAN\ETX \SOH(\fR\tchainCode\DC2\RS\n\
      \\n\
      \attributes\CAN\EOT \SOH(\fR\n\
      \attributes"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        vkey__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vkey"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"vkey")) ::
              Data.ProtoLens.FieldDescriptor BootstrapWitness
        signature__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "signature"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"signature")) ::
              Data.ProtoLens.FieldDescriptor BootstrapWitness
        chainCode__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "chain_code"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"chainCode")) ::
              Data.ProtoLens.FieldDescriptor BootstrapWitness
        attributes__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "attributes"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"attributes")) ::
              Data.ProtoLens.FieldDescriptor BootstrapWitness
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, vkey__field_descriptor),
           (Data.ProtoLens.Tag 2, signature__field_descriptor),
           (Data.ProtoLens.Tag 3, chainCode__field_descriptor),
           (Data.ProtoLens.Tag 4, attributes__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BootstrapWitness'_unknownFields
        (\ x__ y__ -> x__ {_BootstrapWitness'_unknownFields = y__})
  defMessage
    = BootstrapWitness'_constructor
        {_BootstrapWitness'vkey = Data.ProtoLens.fieldDefault,
         _BootstrapWitness'signature = Data.ProtoLens.fieldDefault,
         _BootstrapWitness'chainCode = Data.ProtoLens.fieldDefault,
         _BootstrapWitness'attributes = Data.ProtoLens.fieldDefault,
         _BootstrapWitness'_unknownFields = []}
  parseMessage
    = let
        loop ::
          BootstrapWitness
          -> Data.ProtoLens.Encoding.Bytes.Parser BootstrapWitness
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "vkey"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"vkey") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "signature"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"signature") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "chain_code"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"chainCode") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "attributes"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"attributes") y x)
                        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) "BootstrapWitness"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"vkey") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"signature") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"chainCode") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               _v))
                   ((Data.Monoid.<>)
                      (let
                         _v
                           = Lens.Family2.view (Data.ProtoLens.Field.field @"attributes") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                               ((\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                  _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData BootstrapWitness where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BootstrapWitness'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_BootstrapWitness'vkey x__)
                (Control.DeepSeq.deepseq
                   (_BootstrapWitness'signature x__)
                   (Control.DeepSeq.deepseq
                      (_BootstrapWitness'chainCode x__)
                      (Control.DeepSeq.deepseq (_BootstrapWitness'attributes x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.redeemer' @:: Lens' Certificate Redeemer@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'redeemer' @:: Lens' Certificate (Prelude.Maybe Redeemer)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'certificate' @:: Lens' Certificate (Prelude.Maybe Certificate'Certificate)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeRegistration' @:: Lens' Certificate (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeRegistration' @:: Lens' Certificate StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeDeregistration' @:: Lens' Certificate (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeDeregistration' @:: Lens' Certificate StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeDelegation' @:: Lens' Certificate (Prelude.Maybe StakeDelegationCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeDelegation' @:: Lens' Certificate StakeDelegationCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolRegistration' @:: Lens' Certificate (Prelude.Maybe PoolRegistrationCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolRegistration' @:: Lens' Certificate PoolRegistrationCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolRetirement' @:: Lens' Certificate (Prelude.Maybe PoolRetirementCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolRetirement' @:: Lens' Certificate PoolRetirementCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'genesisKeyDelegation' @:: Lens' Certificate (Prelude.Maybe GenesisKeyDelegationCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.genesisKeyDelegation' @:: Lens' Certificate GenesisKeyDelegationCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'mirCert' @:: Lens' Certificate (Prelude.Maybe MirCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.mirCert' @:: Lens' Certificate MirCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'regCert' @:: Lens' Certificate (Prelude.Maybe RegCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.regCert' @:: Lens' Certificate RegCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'unregCert' @:: Lens' Certificate (Prelude.Maybe UnRegCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.unregCert' @:: Lens' Certificate UnRegCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'voteDelegCert' @:: Lens' Certificate (Prelude.Maybe VoteDelegCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.voteDelegCert' @:: Lens' Certificate VoteDelegCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeVoteDelegCert' @:: Lens' Certificate (Prelude.Maybe StakeVoteDelegCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeVoteDelegCert' @:: Lens' Certificate StakeVoteDelegCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeRegDelegCert' @:: Lens' Certificate (Prelude.Maybe StakeRegDelegCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeRegDelegCert' @:: Lens' Certificate StakeRegDelegCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'voteRegDelegCert' @:: Lens' Certificate (Prelude.Maybe VoteRegDelegCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.voteRegDelegCert' @:: Lens' Certificate VoteRegDelegCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeVoteRegDelegCert' @:: Lens' Certificate (Prelude.Maybe StakeVoteRegDelegCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeVoteRegDelegCert' @:: Lens' Certificate StakeVoteRegDelegCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'authCommitteeHotCert' @:: Lens' Certificate (Prelude.Maybe AuthCommitteeHotCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.authCommitteeHotCert' @:: Lens' Certificate AuthCommitteeHotCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'resignCommitteeColdCert' @:: Lens' Certificate (Prelude.Maybe ResignCommitteeColdCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.resignCommitteeColdCert' @:: Lens' Certificate ResignCommitteeColdCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'regDrepCert' @:: Lens' Certificate (Prelude.Maybe RegDRepCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.regDrepCert' @:: Lens' Certificate RegDRepCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'unregDrepCert' @:: Lens' Certificate (Prelude.Maybe UnRegDRepCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.unregDrepCert' @:: Lens' Certificate UnRegDRepCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'updateDrepCert' @:: Lens' Certificate (Prelude.Maybe UpdateDRepCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.updateDrepCert' @:: Lens' Certificate UpdateDRepCert@ -}
data Certificate
  = Certificate'_constructor {_Certificate'redeemer :: !(Prelude.Maybe Redeemer),
                              _Certificate'certificate :: !(Prelude.Maybe Certificate'Certificate),
                              _Certificate'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Certificate where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data Certificate'Certificate
  = Certificate'StakeRegistration !StakeCredential |
    Certificate'StakeDeregistration !StakeCredential |
    Certificate'StakeDelegation !StakeDelegationCert |
    Certificate'PoolRegistration !PoolRegistrationCert |
    Certificate'PoolRetirement !PoolRetirementCert |
    Certificate'GenesisKeyDelegation !GenesisKeyDelegationCert |
    Certificate'MirCert !MirCert |
    Certificate'RegCert !RegCert |
    Certificate'UnregCert !UnRegCert |
    Certificate'VoteDelegCert !VoteDelegCert |
    Certificate'StakeVoteDelegCert !StakeVoteDelegCert |
    Certificate'StakeRegDelegCert !StakeRegDelegCert |
    Certificate'VoteRegDelegCert !VoteRegDelegCert |
    Certificate'StakeVoteRegDelegCert !StakeVoteRegDelegCert |
    Certificate'AuthCommitteeHotCert !AuthCommitteeHotCert |
    Certificate'ResignCommitteeColdCert !ResignCommitteeColdCert |
    Certificate'RegDrepCert !RegDRepCert |
    Certificate'UnregDrepCert !UnRegDRepCert |
    Certificate'UpdateDrepCert !UpdateDRepCert
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField Certificate "redeemer" Redeemer where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'redeemer
           (\ x__ y__ -> x__ {_Certificate'redeemer = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Certificate "maybe'redeemer" (Prelude.Maybe Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'redeemer
           (\ x__ y__ -> x__ {_Certificate'redeemer = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Certificate "maybe'certificate" (Prelude.Maybe Certificate'Certificate) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeRegistration" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeRegistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeRegistration y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeRegistration" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeRegistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeRegistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeDeregistration" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeDeregistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeDeregistration y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeDeregistration" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeDeregistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeDeregistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeDelegation" (Prelude.Maybe StakeDelegationCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeDelegation x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeDelegation y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeDelegation" StakeDelegationCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeDelegation x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeDelegation y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'poolRegistration" (Prelude.Maybe PoolRegistrationCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'PoolRegistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'PoolRegistration y__))
instance Data.ProtoLens.Field.HasField Certificate "poolRegistration" PoolRegistrationCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'PoolRegistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'PoolRegistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'poolRetirement" (Prelude.Maybe PoolRetirementCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'PoolRetirement x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'PoolRetirement y__))
instance Data.ProtoLens.Field.HasField Certificate "poolRetirement" PoolRetirementCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'PoolRetirement x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'PoolRetirement y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'genesisKeyDelegation" (Prelude.Maybe GenesisKeyDelegationCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'GenesisKeyDelegation x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'GenesisKeyDelegation y__))
instance Data.ProtoLens.Field.HasField Certificate "genesisKeyDelegation" GenesisKeyDelegationCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'GenesisKeyDelegation x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'GenesisKeyDelegation y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'mirCert" (Prelude.Maybe MirCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'MirCert x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'MirCert y__))
instance Data.ProtoLens.Field.HasField Certificate "mirCert" MirCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'MirCert x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'MirCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'regCert" (Prelude.Maybe RegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'RegCert x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'RegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "regCert" RegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'RegCert x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'RegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'unregCert" (Prelude.Maybe UnRegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'UnregCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'UnregCert y__))
instance Data.ProtoLens.Field.HasField Certificate "unregCert" UnRegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'UnregCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'UnregCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'voteDelegCert" (Prelude.Maybe VoteDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'VoteDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'VoteDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "voteDelegCert" VoteDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'VoteDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'VoteDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeVoteDelegCert" (Prelude.Maybe StakeVoteDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeVoteDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeVoteDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeVoteDelegCert" StakeVoteDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeVoteDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeVoteDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeRegDelegCert" (Prelude.Maybe StakeRegDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeRegDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeRegDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeRegDelegCert" StakeRegDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeRegDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeRegDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'voteRegDelegCert" (Prelude.Maybe VoteRegDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'VoteRegDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'VoteRegDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "voteRegDelegCert" VoteRegDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'VoteRegDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'VoteRegDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeVoteRegDelegCert" (Prelude.Maybe StakeVoteRegDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeVoteRegDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeVoteRegDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeVoteRegDelegCert" StakeVoteRegDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeVoteRegDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeVoteRegDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'authCommitteeHotCert" (Prelude.Maybe AuthCommitteeHotCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'AuthCommitteeHotCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'AuthCommitteeHotCert y__))
instance Data.ProtoLens.Field.HasField Certificate "authCommitteeHotCert" AuthCommitteeHotCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'AuthCommitteeHotCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'AuthCommitteeHotCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'resignCommitteeColdCert" (Prelude.Maybe ResignCommitteeColdCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'ResignCommitteeColdCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'ResignCommitteeColdCert y__))
instance Data.ProtoLens.Field.HasField Certificate "resignCommitteeColdCert" ResignCommitteeColdCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'ResignCommitteeColdCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'ResignCommitteeColdCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'regDrepCert" (Prelude.Maybe RegDRepCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'RegDrepCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'RegDrepCert y__))
instance Data.ProtoLens.Field.HasField Certificate "regDrepCert" RegDRepCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'RegDrepCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'RegDrepCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'unregDrepCert" (Prelude.Maybe UnRegDRepCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'UnregDrepCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'UnregDrepCert y__))
instance Data.ProtoLens.Field.HasField Certificate "unregDrepCert" UnRegDRepCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'UnregDrepCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'UnregDrepCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'updateDrepCert" (Prelude.Maybe UpdateDRepCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'UpdateDrepCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'UpdateDrepCert y__))
instance Data.ProtoLens.Field.HasField Certificate "updateDrepCert" UpdateDRepCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'UpdateDrepCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'UpdateDrepCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Message Certificate where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Certificate"
  packedMessageDescriptor _
    = "\n\
      \\vCertificate\DC2X\n\
      \\DC2stake_registration\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC1stakeRegistration\DC2\\\n\
      \\DC4stake_deregistration\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC3stakeDeregistration\DC2X\n\
      \\DLEstake_delegation\CAN\ETX \SOH(\v2+.utxorpc.v1beta.cardano.StakeDelegationCertH\NULR\SIstakeDelegation\DC2[\n\
      \\DC1pool_registration\CAN\EOT \SOH(\v2,.utxorpc.v1beta.cardano.PoolRegistrationCertH\NULR\DLEpoolRegistration\DC2U\n\
      \\SIpool_retirement\CAN\ENQ \SOH(\v2*.utxorpc.v1beta.cardano.PoolRetirementCertH\NULR\SOpoolRetirement\DC2h\n\
      \\SYNgenesis_key_delegation\CAN\ACK \SOH(\v20.utxorpc.v1beta.cardano.GenesisKeyDelegationCertH\NULR\DC4genesisKeyDelegation\DC2<\n\
      \\bmir_cert\CAN\a \SOH(\v2\US.utxorpc.v1beta.cardano.MirCertH\NULR\amirCert\DC2<\n\
      \\breg_cert\CAN\b \SOH(\v2\US.utxorpc.v1beta.cardano.RegCertH\NULR\aregCert\DC2B\n\
      \\n\
      \unreg_cert\CAN\t \SOH(\v2!.utxorpc.v1beta.cardano.UnRegCertH\NULR\tunregCert\DC2O\n\
      \\SIvote_deleg_cert\CAN\n\
      \ \SOH(\v2%.utxorpc.v1beta.cardano.VoteDelegCertH\NULR\rvoteDelegCert\DC2_\n\
      \\NAKstake_vote_deleg_cert\CAN\v \SOH(\v2*.utxorpc.v1beta.cardano.StakeVoteDelegCertH\NULR\DC2stakeVoteDelegCert\DC2\\\n\
      \\DC4stake_reg_deleg_cert\CAN\f \SOH(\v2).utxorpc.v1beta.cardano.StakeRegDelegCertH\NULR\DC1stakeRegDelegCert\DC2Y\n\
      \\DC3vote_reg_deleg_cert\CAN\r \SOH(\v2(.utxorpc.v1beta.cardano.VoteRegDelegCertH\NULR\DLEvoteRegDelegCert\DC2i\n\
      \\EMstake_vote_reg_deleg_cert\CAN\SO \SOH(\v2-.utxorpc.v1beta.cardano.StakeVoteRegDelegCertH\NULR\NAKstakeVoteRegDelegCert\DC2e\n\
      \\ETBauth_committee_hot_cert\CAN\SI \SOH(\v2,.utxorpc.v1beta.cardano.AuthCommitteeHotCertH\NULR\DC4authCommitteeHotCert\DC2n\n\
      \\SUBresign_committee_cold_cert\CAN\DLE \SOH(\v2/.utxorpc.v1beta.cardano.ResignCommitteeColdCertH\NULR\ETBresignCommitteeColdCert\DC2I\n\
      \\rreg_drep_cert\CAN\DC1 \SOH(\v2#.utxorpc.v1beta.cardano.RegDRepCertH\NULR\vregDrepCert\DC2O\n\
      \\SIunreg_drep_cert\CAN\DC2 \SOH(\v2%.utxorpc.v1beta.cardano.UnRegDRepCertH\NULR\runregDrepCert\DC2R\n\
      \\DLEupdate_drep_cert\CAN\DC3 \SOH(\v2&.utxorpc.v1beta.cardano.UpdateDRepCertH\NULR\SOupdateDrepCert\DC2<\n\
      \\bredeemer\CANd \SOH(\v2 .utxorpc.v1beta.cardano.RedeemerR\bredeemerB\r\n\
      \\vcertificate"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        redeemer__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemer"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'redeemer")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeRegistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_registration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeRegistration")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeDeregistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_deregistration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeDeregistration")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeDelegation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_delegation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeDelegationCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeDelegation")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        poolRegistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_registration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolRegistrationCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolRegistration")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        poolRetirement__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_retirement"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolRetirementCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolRetirement")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        genesisKeyDelegation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "genesis_key_delegation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GenesisKeyDelegationCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'genesisKeyDelegation")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        mirCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mir_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MirCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'mirCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        regCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'regCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        unregCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "unreg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UnRegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'unregCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        voteDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vote_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VoteDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'voteDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeVoteDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_vote_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeVoteDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeVoteDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeRegDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_reg_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeRegDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeRegDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        voteRegDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vote_reg_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VoteRegDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'voteRegDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeVoteRegDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_vote_reg_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeVoteRegDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeVoteRegDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        authCommitteeHotCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "auth_committee_hot_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AuthCommitteeHotCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'authCommitteeHotCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        resignCommitteeColdCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "resign_committee_cold_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ResignCommitteeColdCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'resignCommitteeColdCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        regDrepCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reg_drep_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RegDRepCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'regDrepCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        unregDrepCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "unreg_drep_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UnRegDRepCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'unregDrepCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        updateDrepCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_drep_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UpdateDRepCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'updateDrepCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 100, redeemer__field_descriptor),
           (Data.ProtoLens.Tag 1, stakeRegistration__field_descriptor),
           (Data.ProtoLens.Tag 2, stakeDeregistration__field_descriptor),
           (Data.ProtoLens.Tag 3, stakeDelegation__field_descriptor),
           (Data.ProtoLens.Tag 4, poolRegistration__field_descriptor),
           (Data.ProtoLens.Tag 5, poolRetirement__field_descriptor),
           (Data.ProtoLens.Tag 6, genesisKeyDelegation__field_descriptor),
           (Data.ProtoLens.Tag 7, mirCert__field_descriptor),
           (Data.ProtoLens.Tag 8, regCert__field_descriptor),
           (Data.ProtoLens.Tag 9, unregCert__field_descriptor),
           (Data.ProtoLens.Tag 10, voteDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 11, stakeVoteDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 12, stakeRegDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 13, voteRegDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 14, stakeVoteRegDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 15, authCommitteeHotCert__field_descriptor),
           (Data.ProtoLens.Tag 16, resignCommitteeColdCert__field_descriptor),
           (Data.ProtoLens.Tag 17, regDrepCert__field_descriptor),
           (Data.ProtoLens.Tag 18, unregDrepCert__field_descriptor),
           (Data.ProtoLens.Tag 19, updateDrepCert__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Certificate'_unknownFields
        (\ x__ y__ -> x__ {_Certificate'_unknownFields = y__})
  defMessage
    = Certificate'_constructor
        {_Certificate'redeemer = Prelude.Nothing,
         _Certificate'certificate = Prelude.Nothing,
         _Certificate'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Certificate -> Data.ProtoLens.Encoding.Bytes.Parser Certificate
        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
                        802
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "redeemer"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"redeemer") y x)
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_registration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeRegistration") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_deregistration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeDeregistration") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_delegation"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeDelegation") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_registration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRegistration") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_retirement"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRetirement") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "genesis_key_delegation"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"genesisKeyDelegation") y x)
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "mir_cert"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"mirCert") y x)
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "reg_cert"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"regCert") y x)
                        74
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "unreg_cert"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"unregCert") y x)
                        82
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "vote_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"voteDelegCert") y x)
                        90
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_vote_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeVoteDelegCert") y x)
                        98
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_reg_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeRegDelegCert") y x)
                        106
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "vote_reg_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"voteRegDelegCert") y x)
                        114
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_vote_reg_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeVoteRegDelegCert") y x)
                        122
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "auth_committee_hot_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"authCommitteeHotCert") y x)
                        130
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "resign_committee_cold_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"resignCommitteeColdCert") y x)
                        138
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "reg_drep_cert"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"regDrepCert") y x)
                        146
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "unreg_drep_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"unregDrepCert") y x)
                        154
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "update_drep_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateDrepCert") y x)
                        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) "Certificate"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'redeemer") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 802)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'certificate") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just (Certificate'StakeRegistration v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeDeregistration v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeDelegation v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'PoolRegistration v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'PoolRetirement v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'GenesisKeyDelegation v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'MirCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'RegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'UnregCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'VoteDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeVoteDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeRegDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'VoteRegDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 106)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeVoteRegDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 114)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'AuthCommitteeHotCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 122)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'ResignCommitteeColdCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 130)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'RegDrepCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 138)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'UnregDrepCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 146)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'UpdateDrepCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 154)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Certificate where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Certificate'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Certificate'redeemer x__)
                (Control.DeepSeq.deepseq (_Certificate'certificate x__) ()))
instance Control.DeepSeq.NFData Certificate'Certificate where
  rnf (Certificate'StakeRegistration x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeDeregistration x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeDelegation x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'PoolRegistration x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'PoolRetirement x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'GenesisKeyDelegation x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'MirCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'RegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'UnregCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'VoteDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeVoteDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeRegDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'VoteRegDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeVoteRegDelegCert x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'AuthCommitteeHotCert x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'ResignCommitteeColdCert x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'RegDrepCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'UnregDrepCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'UpdateDrepCert x__) = Control.DeepSeq.rnf x__
_Certificate'StakeRegistration ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeCredential
_Certificate'StakeRegistration
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeRegistration
      (\ p__
         -> case p__ of
              (Certificate'StakeRegistration p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeDeregistration ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeCredential
_Certificate'StakeDeregistration
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeDeregistration
      (\ p__
         -> case p__ of
              (Certificate'StakeDeregistration p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeDelegation ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeDelegationCert
_Certificate'StakeDelegation
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeDelegation
      (\ p__
         -> case p__ of
              (Certificate'StakeDelegation p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'PoolRegistration ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate PoolRegistrationCert
_Certificate'PoolRegistration
  = Data.ProtoLens.Prism.prism'
      Certificate'PoolRegistration
      (\ p__
         -> case p__ of
              (Certificate'PoolRegistration p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'PoolRetirement ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate PoolRetirementCert
_Certificate'PoolRetirement
  = Data.ProtoLens.Prism.prism'
      Certificate'PoolRetirement
      (\ p__
         -> case p__ of
              (Certificate'PoolRetirement p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'GenesisKeyDelegation ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate GenesisKeyDelegationCert
_Certificate'GenesisKeyDelegation
  = Data.ProtoLens.Prism.prism'
      Certificate'GenesisKeyDelegation
      (\ p__
         -> case p__ of
              (Certificate'GenesisKeyDelegation p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'MirCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate MirCert
_Certificate'MirCert
  = Data.ProtoLens.Prism.prism'
      Certificate'MirCert
      (\ p__
         -> case p__ of
              (Certificate'MirCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'RegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate RegCert
_Certificate'RegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'RegCert
      (\ p__
         -> case p__ of
              (Certificate'RegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'UnregCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate UnRegCert
_Certificate'UnregCert
  = Data.ProtoLens.Prism.prism'
      Certificate'UnregCert
      (\ p__
         -> case p__ of
              (Certificate'UnregCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'VoteDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate VoteDelegCert
_Certificate'VoteDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'VoteDelegCert
      (\ p__
         -> case p__ of
              (Certificate'VoteDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeVoteDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeVoteDelegCert
_Certificate'StakeVoteDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeVoteDelegCert
      (\ p__
         -> case p__ of
              (Certificate'StakeVoteDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeRegDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeRegDelegCert
_Certificate'StakeRegDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeRegDelegCert
      (\ p__
         -> case p__ of
              (Certificate'StakeRegDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'VoteRegDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate VoteRegDelegCert
_Certificate'VoteRegDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'VoteRegDelegCert
      (\ p__
         -> case p__ of
              (Certificate'VoteRegDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeVoteRegDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeVoteRegDelegCert
_Certificate'StakeVoteRegDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeVoteRegDelegCert
      (\ p__
         -> case p__ of
              (Certificate'StakeVoteRegDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'AuthCommitteeHotCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate AuthCommitteeHotCert
_Certificate'AuthCommitteeHotCert
  = Data.ProtoLens.Prism.prism'
      Certificate'AuthCommitteeHotCert
      (\ p__
         -> case p__ of
              (Certificate'AuthCommitteeHotCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'ResignCommitteeColdCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate ResignCommitteeColdCert
_Certificate'ResignCommitteeColdCert
  = Data.ProtoLens.Prism.prism'
      Certificate'ResignCommitteeColdCert
      (\ p__
         -> case p__ of
              (Certificate'ResignCommitteeColdCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'RegDrepCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate RegDRepCert
_Certificate'RegDrepCert
  = Data.ProtoLens.Prism.prism'
      Certificate'RegDrepCert
      (\ p__
         -> case p__ of
              (Certificate'RegDrepCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'UnregDrepCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate UnRegDRepCert
_Certificate'UnregDrepCert
  = Data.ProtoLens.Prism.prism'
      Certificate'UnregDrepCert
      (\ p__
         -> case p__ of
              (Certificate'UnregDrepCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'UpdateDrepCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate UpdateDRepCert
_Certificate'UpdateDrepCert
  = Data.ProtoLens.Prism.prism'
      Certificate'UpdateDrepCert
      (\ p__
         -> case p__ of
              (Certificate'UpdateDrepCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'certificateType' @:: Lens' CertificatePattern (Prelude.Maybe CertificatePattern'CertificateType)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeRegistration' @:: Lens' CertificatePattern (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeRegistration' @:: Lens' CertificatePattern StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeDeregistration' @:: Lens' CertificatePattern (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeDeregistration' @:: Lens' CertificatePattern StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeDelegation' @:: Lens' CertificatePattern (Prelude.Maybe StakeDelegationPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeDelegation' @:: Lens' CertificatePattern StakeDelegationPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolRegistration' @:: Lens' CertificatePattern (Prelude.Maybe PoolRegistrationPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolRegistration' @:: Lens' CertificatePattern PoolRegistrationPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolRetirement' @:: Lens' CertificatePattern (Prelude.Maybe PoolRetirementPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolRetirement' @:: Lens' CertificatePattern PoolRetirementPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anyStakeCredential' @:: Lens' CertificatePattern (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anyStakeCredential' @:: Lens' CertificatePattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anyPoolKeyhash' @:: Lens' CertificatePattern (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anyPoolKeyhash' @:: Lens' CertificatePattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anyDrep' @:: Lens' CertificatePattern (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anyDrep' @:: Lens' CertificatePattern Data.ByteString.ByteString@ -}
data CertificatePattern
  = CertificatePattern'_constructor {_CertificatePattern'certificateType :: !(Prelude.Maybe CertificatePattern'CertificateType),
                                     _CertificatePattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show CertificatePattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data CertificatePattern'CertificateType
  = CertificatePattern'StakeRegistration !StakeCredential |
    CertificatePattern'StakeDeregistration !StakeCredential |
    CertificatePattern'StakeDelegation !StakeDelegationPattern |
    CertificatePattern'PoolRegistration !PoolRegistrationPattern |
    CertificatePattern'PoolRetirement !PoolRetirementPattern |
    CertificatePattern'AnyStakeCredential !Data.ByteString.ByteString |
    CertificatePattern'AnyPoolKeyhash !Data.ByteString.ByteString |
    CertificatePattern'AnyDrep !Data.ByteString.ByteString
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'certificateType" (Prelude.Maybe CertificatePattern'CertificateType) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'stakeRegistration" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'StakeRegistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap CertificatePattern'StakeRegistration y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "stakeRegistration" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'StakeRegistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap CertificatePattern'StakeRegistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'stakeDeregistration" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'StakeDeregistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap CertificatePattern'StakeDeregistration y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "stakeDeregistration" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'StakeDeregistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap CertificatePattern'StakeDeregistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'stakeDelegation" (Prelude.Maybe StakeDelegationPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'StakeDelegation x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap CertificatePattern'StakeDelegation y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "stakeDelegation" StakeDelegationPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'StakeDelegation x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap CertificatePattern'StakeDelegation y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'poolRegistration" (Prelude.Maybe PoolRegistrationPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'PoolRegistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap CertificatePattern'PoolRegistration y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "poolRegistration" PoolRegistrationPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'PoolRegistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap CertificatePattern'PoolRegistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'poolRetirement" (Prelude.Maybe PoolRetirementPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'PoolRetirement x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap CertificatePattern'PoolRetirement y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "poolRetirement" PoolRetirementPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'PoolRetirement x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap CertificatePattern'PoolRetirement y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'anyStakeCredential" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'AnyStakeCredential x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap CertificatePattern'AnyStakeCredential y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "anyStakeCredential" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'AnyStakeCredential x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap CertificatePattern'AnyStakeCredential y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'anyPoolKeyhash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'AnyPoolKeyhash x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap CertificatePattern'AnyPoolKeyhash y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "anyPoolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'AnyPoolKeyhash x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap CertificatePattern'AnyPoolKeyhash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField CertificatePattern "maybe'anyDrep" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (CertificatePattern'AnyDrep x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap CertificatePattern'AnyDrep y__))
instance Data.ProtoLens.Field.HasField CertificatePattern "anyDrep" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CertificatePattern'certificateType
           (\ x__ y__ -> x__ {_CertificatePattern'certificateType = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (CertificatePattern'AnyDrep x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap CertificatePattern'AnyDrep y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message CertificatePattern where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.CertificatePattern"
  packedMessageDescriptor _
    = "\n\
      \\DC2CertificatePattern\DC2X\n\
      \\DC2stake_registration\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC1stakeRegistration\DC2\\\n\
      \\DC4stake_deregistration\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC3stakeDeregistration\DC2[\n\
      \\DLEstake_delegation\CAN\ETX \SOH(\v2..utxorpc.v1beta.cardano.StakeDelegationPatternH\NULR\SIstakeDelegation\DC2^\n\
      \\DC1pool_registration\CAN\EOT \SOH(\v2/.utxorpc.v1beta.cardano.PoolRegistrationPatternH\NULR\DLEpoolRegistration\DC2X\n\
      \\SIpool_retirement\CAN\ENQ \SOH(\v2-.utxorpc.v1beta.cardano.PoolRetirementPatternH\NULR\SOpoolRetirement\DC22\n\
      \\DC4any_stake_credential\CAN\ACK \SOH(\fH\NULR\DC2anyStakeCredential\DC2*\n\
      \\DLEany_pool_keyhash\CAN\a \SOH(\fH\NULR\SOanyPoolKeyhash\DC2\ESC\n\
      \\bany_drep\CAN\b \SOH(\fH\NULR\aanyDrepB\DC2\n\
      \\DLEcertificate_type"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeRegistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_registration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeRegistration")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
        stakeDeregistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_deregistration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeDeregistration")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
        stakeDelegation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_delegation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeDelegationPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeDelegation")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
        poolRegistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_registration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolRegistrationPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolRegistration")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
        poolRetirement__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_retirement"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolRetirementPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolRetirement")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
        anyStakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "any_stake_credential"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anyStakeCredential")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
        anyPoolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "any_pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anyPoolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
        anyDrep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "any_drep"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anyDrep")) ::
              Data.ProtoLens.FieldDescriptor CertificatePattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeRegistration__field_descriptor),
           (Data.ProtoLens.Tag 2, stakeDeregistration__field_descriptor),
           (Data.ProtoLens.Tag 3, stakeDelegation__field_descriptor),
           (Data.ProtoLens.Tag 4, poolRegistration__field_descriptor),
           (Data.ProtoLens.Tag 5, poolRetirement__field_descriptor),
           (Data.ProtoLens.Tag 6, anyStakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 7, anyPoolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 8, anyDrep__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _CertificatePattern'_unknownFields
        (\ x__ y__ -> x__ {_CertificatePattern'_unknownFields = y__})
  defMessage
    = CertificatePattern'_constructor
        {_CertificatePattern'certificateType = Prelude.Nothing,
         _CertificatePattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          CertificatePattern
          -> Data.ProtoLens.Encoding.Bytes.Parser CertificatePattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_registration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeRegistration") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_deregistration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeDeregistration") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_delegation"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeDelegation") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_registration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRegistration") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_retirement"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRetirement") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "any_stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"anyStakeCredential") y x)
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "any_pool_keyhash"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"anyPoolKeyhash") y x)
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "any_drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anyDrep") y x)
                        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) "CertificatePattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'certificateType") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (CertificatePattern'StakeRegistration v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (CertificatePattern'StakeDeregistration v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (CertificatePattern'StakeDelegation v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (CertificatePattern'PoolRegistration v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (CertificatePattern'PoolRetirement v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (CertificatePattern'AnyStakeCredential v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (CertificatePattern'AnyPoolKeyhash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (CertificatePattern'AnyDrep v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData CertificatePattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_CertificatePattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_CertificatePattern'certificateType x__) ())
instance Control.DeepSeq.NFData CertificatePattern'CertificateType where
  rnf (CertificatePattern'StakeRegistration x__)
    = Control.DeepSeq.rnf x__
  rnf (CertificatePattern'StakeDeregistration x__)
    = Control.DeepSeq.rnf x__
  rnf (CertificatePattern'StakeDelegation x__)
    = Control.DeepSeq.rnf x__
  rnf (CertificatePattern'PoolRegistration x__)
    = Control.DeepSeq.rnf x__
  rnf (CertificatePattern'PoolRetirement x__)
    = Control.DeepSeq.rnf x__
  rnf (CertificatePattern'AnyStakeCredential x__)
    = Control.DeepSeq.rnf x__
  rnf (CertificatePattern'AnyPoolKeyhash x__)
    = Control.DeepSeq.rnf x__
  rnf (CertificatePattern'AnyDrep x__) = Control.DeepSeq.rnf x__
_CertificatePattern'StakeRegistration ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType StakeCredential
_CertificatePattern'StakeRegistration
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'StakeRegistration
      (\ p__
         -> case p__ of
              (CertificatePattern'StakeRegistration p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_CertificatePattern'StakeDeregistration ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType StakeCredential
_CertificatePattern'StakeDeregistration
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'StakeDeregistration
      (\ p__
         -> case p__ of
              (CertificatePattern'StakeDeregistration p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_CertificatePattern'StakeDelegation ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType StakeDelegationPattern
_CertificatePattern'StakeDelegation
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'StakeDelegation
      (\ p__
         -> case p__ of
              (CertificatePattern'StakeDelegation p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_CertificatePattern'PoolRegistration ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType PoolRegistrationPattern
_CertificatePattern'PoolRegistration
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'PoolRegistration
      (\ p__
         -> case p__ of
              (CertificatePattern'PoolRegistration p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_CertificatePattern'PoolRetirement ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType PoolRetirementPattern
_CertificatePattern'PoolRetirement
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'PoolRetirement
      (\ p__
         -> case p__ of
              (CertificatePattern'PoolRetirement p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_CertificatePattern'AnyStakeCredential ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType Data.ByteString.ByteString
_CertificatePattern'AnyStakeCredential
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'AnyStakeCredential
      (\ p__
         -> case p__ of
              (CertificatePattern'AnyStakeCredential p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_CertificatePattern'AnyPoolKeyhash ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType Data.ByteString.ByteString
_CertificatePattern'AnyPoolKeyhash
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'AnyPoolKeyhash
      (\ p__
         -> case p__ of
              (CertificatePattern'AnyPoolKeyhash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_CertificatePattern'AnyDrep ::
  Data.ProtoLens.Prism.Prism' CertificatePattern'CertificateType Data.ByteString.ByteString
_CertificatePattern'AnyDrep
  = Data.ProtoLens.Prism.prism'
      CertificatePattern'AnyDrep
      (\ p__
         -> case p__ of
              (CertificatePattern'AnyDrep p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.collateral' @:: Lens' Collateral [TxInput]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'collateral' @:: Lens' Collateral (Data.Vector.Vector TxInput)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.collateralReturn' @:: Lens' Collateral TxOutput@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'collateralReturn' @:: Lens' Collateral (Prelude.Maybe TxOutput)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.totalCollateral' @:: Lens' Collateral BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'totalCollateral' @:: Lens' Collateral (Prelude.Maybe BigInt)@ -}
data Collateral
  = Collateral'_constructor {_Collateral'collateral :: !(Data.Vector.Vector TxInput),
                             _Collateral'collateralReturn :: !(Prelude.Maybe TxOutput),
                             _Collateral'totalCollateral :: !(Prelude.Maybe BigInt),
                             _Collateral'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Collateral where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Collateral "collateral" [TxInput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateral
           (\ x__ y__ -> x__ {_Collateral'collateral = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Collateral "vec'collateral" (Data.Vector.Vector TxInput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateral
           (\ x__ y__ -> x__ {_Collateral'collateral = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Collateral "collateralReturn" TxOutput where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateralReturn
           (\ x__ y__ -> x__ {_Collateral'collateralReturn = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Collateral "maybe'collateralReturn" (Prelude.Maybe TxOutput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateralReturn
           (\ x__ y__ -> x__ {_Collateral'collateralReturn = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Collateral "totalCollateral" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'totalCollateral
           (\ x__ y__ -> x__ {_Collateral'totalCollateral = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Collateral "maybe'totalCollateral" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'totalCollateral
           (\ x__ y__ -> x__ {_Collateral'totalCollateral = y__}))
        Prelude.id
instance Data.ProtoLens.Message Collateral where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Collateral"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \Collateral\DC2?\n\
      \\n\
      \collateral\CAN\SOH \ETX(\v2\US.utxorpc.v1beta.cardano.TxInputR\n\
      \collateral\DC2M\n\
      \\DC1collateral_return\CAN\STX \SOH(\v2 .utxorpc.v1beta.cardano.TxOutputR\DLEcollateralReturn\DC2I\n\
      \\DLEtotal_collateral\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\SItotalCollateral"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        collateral__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxInput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"collateral")) ::
              Data.ProtoLens.FieldDescriptor Collateral
        collateralReturn__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral_return"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutput)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'collateralReturn")) ::
              Data.ProtoLens.FieldDescriptor Collateral
        totalCollateral__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "total_collateral"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'totalCollateral")) ::
              Data.ProtoLens.FieldDescriptor Collateral
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, collateral__field_descriptor),
           (Data.ProtoLens.Tag 2, collateralReturn__field_descriptor),
           (Data.ProtoLens.Tag 3, totalCollateral__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Collateral'_unknownFields
        (\ x__ y__ -> x__ {_Collateral'_unknownFields = y__})
  defMessage
    = Collateral'_constructor
        {_Collateral'collateral = Data.Vector.Generic.empty,
         _Collateral'collateralReturn = Prelude.Nothing,
         _Collateral'totalCollateral = Prelude.Nothing,
         _Collateral'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Collateral
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxInput
             -> Data.ProtoLens.Encoding.Bytes.Parser Collateral
        loop x mutable'collateral
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'collateral <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                mutable'collateral)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'collateral") frozen'collateral
                              x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "collateral"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'collateral y)
                                loop x v
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "collateral_return"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"collateralReturn") y x)
                                  mutable'collateral
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "total_collateral"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"totalCollateral") y x)
                                  mutable'collateral
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'collateral
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'collateral <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                      Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'collateral)
          "Collateral"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'collateral") _x))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'collateralReturn") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'totalCollateral") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Collateral where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Collateral'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Collateral'collateral x__)
                (Control.DeepSeq.deepseq
                   (_Collateral'collateralReturn x__)
                   (Control.DeepSeq.deepseq (_Collateral'totalCollateral x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.members' @:: Lens' Committee (Data.Map.Map Data.Text.Text Data.Word.Word64)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.threshold' @:: Lens' Committee RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'threshold' @:: Lens' Committee (Prelude.Maybe RationalNumber)@ -}
data Committee
  = Committee'_constructor {_Committee'members :: !(Data.Map.Map Data.Text.Text Data.Word.Word64),
                            _Committee'threshold :: !(Prelude.Maybe RationalNumber),
                            _Committee'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Committee where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Committee "members" (Data.Map.Map Data.Text.Text Data.Word.Word64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Committee'members (\ x__ y__ -> x__ {_Committee'members = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Committee "threshold" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Committee'threshold
           (\ x__ y__ -> x__ {_Committee'threshold = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Committee "maybe'threshold" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Committee'threshold
           (\ x__ y__ -> x__ {_Committee'threshold = y__}))
        Prelude.id
instance Data.ProtoLens.Message Committee where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Committee"
  packedMessageDescriptor _
    = "\n\
      \\tCommittee\DC2H\n\
      \\amembers\CAN\SOH \ETX(\v2..utxorpc.v1beta.cardano.Committee.MembersEntryR\amembers\DC2D\n\
      \\tthreshold\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\tthreshold\SUB:\n\
      \\fMembersEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\EOTR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        members__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "members"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Committee'MembersEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"members")) ::
              Data.ProtoLens.FieldDescriptor Committee
        threshold__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "threshold"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'threshold")) ::
              Data.ProtoLens.FieldDescriptor Committee
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, members__field_descriptor),
           (Data.ProtoLens.Tag 2, threshold__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Committee'_unknownFields
        (\ x__ y__ -> x__ {_Committee'_unknownFields = y__})
  defMessage
    = Committee'_constructor
        {_Committee'members = Data.Map.empty,
         _Committee'threshold = Prelude.Nothing,
         _Committee'_unknownFields = []}
  parseMessage
    = let
        loop :: Committee -> Data.ProtoLens.Encoding.Bytes.Parser Committee
        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
                        10
                          -> do !(entry :: Committee'MembersEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                            Data.ProtoLens.Encoding.Bytes.isolate
                                                                              (Prelude.fromIntegral
                                                                                 len)
                                                                              Data.ProtoLens.parseMessage)
                                                                        "members"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"members")
                                        (\ !t -> Data.Map.insert key value t) x))
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "threshold"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"threshold") y x)
                        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) "Committee"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.Monoid.mconcat
                (Prelude.map
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"key") (Prelude.fst _v)
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"value") (Prelude.snd _v)
                                    (Data.ProtoLens.defMessage :: Committee'MembersEntry)))))
                   (Data.Map.toList
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"members") _x))))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'threshold") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Committee where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Committee'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Committee'members x__)
                (Control.DeepSeq.deepseq (_Committee'threshold x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Committee'MembersEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Committee'MembersEntry Data.Word.Word64@ -}
data Committee'MembersEntry
  = Committee'MembersEntry'_constructor {_Committee'MembersEntry'key :: !Data.Text.Text,
                                         _Committee'MembersEntry'value :: !Data.Word.Word64,
                                         _Committee'MembersEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Committee'MembersEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Committee'MembersEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Committee'MembersEntry'key
           (\ x__ y__ -> x__ {_Committee'MembersEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Committee'MembersEntry "value" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Committee'MembersEntry'value
           (\ x__ y__ -> x__ {_Committee'MembersEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Committee'MembersEntry where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.Committee.MembersEntry"
  packedMessageDescriptor _
    = "\n\
      \\fMembersEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\EOTR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Committee'MembersEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"value")) ::
              Data.ProtoLens.FieldDescriptor Committee'MembersEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Committee'MembersEntry'_unknownFields
        (\ x__ y__ -> x__ {_Committee'MembersEntry'_unknownFields = y__})
  defMessage
    = Committee'MembersEntry'_constructor
        {_Committee'MembersEntry'key = Data.ProtoLens.fieldDefault,
         _Committee'MembersEntry'value = Data.ProtoLens.fieldDefault,
         _Committee'MembersEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Committee'MembersEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Committee'MembersEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "MembersEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Committee'MembersEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Committee'MembersEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Committee'MembersEntry'key x__)
                (Control.DeepSeq.deepseq (_Committee'MembersEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anchor' @:: Lens' Constitution Anchor@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' Constitution (Prelude.Maybe Anchor)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hash' @:: Lens' Constitution Data.ByteString.ByteString@ -}
data Constitution
  = Constitution'_constructor {_Constitution'anchor :: !(Prelude.Maybe Anchor),
                               _Constitution'hash :: !Data.ByteString.ByteString,
                               _Constitution'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Constitution where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Constitution "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constitution'anchor
           (\ x__ y__ -> x__ {_Constitution'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Constitution "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constitution'anchor
           (\ x__ y__ -> x__ {_Constitution'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Constitution "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constitution'hash (\ x__ y__ -> x__ {_Constitution'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Message Constitution where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.Constitution"
  packedMessageDescriptor _
    = "\n\
      \\fConstitution\DC26\n\
      \\ACKanchor\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor\DC2\DC2\n\
      \\EOThash\CAN\STX \SOH(\fR\EOThash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor Constitution
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor Constitution
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, anchor__field_descriptor),
           (Data.ProtoLens.Tag 2, hash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Constitution'_unknownFields
        (\ x__ y__ -> x__ {_Constitution'_unknownFields = y__})
  defMessage
    = Constitution'_constructor
        {_Constitution'anchor = Prelude.Nothing,
         _Constitution'hash = Data.ProtoLens.fieldDefault,
         _Constitution'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Constitution -> Data.ProtoLens.Encoding.Bytes.Parser Constitution
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        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) "Constitution"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Constitution where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Constitution'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Constitution'anchor x__)
                (Control.DeepSeq.deepseq (_Constitution'hash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.tag' @:: Lens' Constr Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anyConstructor' @:: Lens' Constr Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.fields' @:: Lens' Constr [PlutusData]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'fields' @:: Lens' Constr (Data.Vector.Vector PlutusData)@ -}
data Constr
  = Constr'_constructor {_Constr'tag :: !Data.Word.Word32,
                         _Constr'anyConstructor :: !Data.Word.Word64,
                         _Constr'fields :: !(Data.Vector.Vector PlutusData),
                         _Constr'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Constr where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Constr "tag" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'tag (\ x__ y__ -> x__ {_Constr'tag = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Constr "anyConstructor" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'anyConstructor
           (\ x__ y__ -> x__ {_Constr'anyConstructor = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Constr "fields" [PlutusData] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'fields (\ x__ y__ -> x__ {_Constr'fields = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Constr "vec'fields" (Data.Vector.Vector PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'fields (\ x__ y__ -> x__ {_Constr'fields = y__}))
        Prelude.id
instance Data.ProtoLens.Message Constr where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Constr"
  packedMessageDescriptor _
    = "\n\
      \\ACKConstr\DC2\DLE\n\
      \\ETXtag\CAN\SOH \SOH(\rR\ETXtag\DC2'\n\
      \\SIany_constructor\CAN\STX \SOH(\EOTR\SOanyConstructor\DC2:\n\
      \\ACKfields\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ACKfields"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        tag__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tag"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"tag")) ::
              Data.ProtoLens.FieldDescriptor Constr
        anyConstructor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "any_constructor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"anyConstructor")) ::
              Data.ProtoLens.FieldDescriptor Constr
        fields__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "fields"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"fields")) ::
              Data.ProtoLens.FieldDescriptor Constr
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, tag__field_descriptor),
           (Data.ProtoLens.Tag 2, anyConstructor__field_descriptor),
           (Data.ProtoLens.Tag 3, fields__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Constr'_unknownFields
        (\ x__ y__ -> x__ {_Constr'_unknownFields = y__})
  defMessage
    = Constr'_constructor
        {_Constr'tag = Data.ProtoLens.fieldDefault,
         _Constr'anyConstructor = Data.ProtoLens.fieldDefault,
         _Constr'fields = Data.Vector.Generic.empty,
         _Constr'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Constr
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusData
             -> Data.ProtoLens.Encoding.Bytes.Parser Constr
        loop x mutable'fields
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'fields)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'fields") frozen'fields x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "tag"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"tag") y x)
                                  mutable'fields
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "any_constructor"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"anyConstructor") y x)
                                  mutable'fields
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "fields"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'fields 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'fields
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'fields)
          "Constr"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"tag") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"anyConstructor") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'fields") _x))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Constr where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Constr'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Constr'tag x__)
                (Control.DeepSeq.deepseq
                   (_Constr'anyConstructor x__)
                   (Control.DeepSeq.deepseq (_Constr'fields x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.values' @:: Lens' CostModel [Data.Int.Int64]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'values' @:: Lens' CostModel (Data.Vector.Unboxed.Vector Data.Int.Int64)@ -}
data CostModel
  = CostModel'_constructor {_CostModel'values :: !(Data.Vector.Unboxed.Vector Data.Int.Int64),
                            _CostModel'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show CostModel where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField CostModel "values" [Data.Int.Int64] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModel'values (\ x__ y__ -> x__ {_CostModel'values = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField CostModel "vec'values" (Data.Vector.Unboxed.Vector Data.Int.Int64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModel'values (\ x__ y__ -> x__ {_CostModel'values = y__}))
        Prelude.id
instance Data.ProtoLens.Message CostModel where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.CostModel"
  packedMessageDescriptor _
    = "\n\
      \\tCostModel\DC2\SYN\n\
      \\ACKvalues\CAN\SOH \ETX(\ETXR\ACKvalues"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        values__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "values"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"values")) ::
              Data.ProtoLens.FieldDescriptor CostModel
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, values__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _CostModel'_unknownFields
        (\ x__ y__ -> x__ {_CostModel'_unknownFields = y__})
  defMessage
    = CostModel'_constructor
        {_CostModel'values = Data.Vector.Generic.empty,
         _CostModel'_unknownFields = []}
  parseMessage
    = let
        loop ::
          CostModel
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int64
             -> Data.ProtoLens.Encoding.Bytes.Parser CostModel
        loop x mutable'values
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'values <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'values)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'values") frozen'values x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (Prelude.fmap
                                           Prelude.fromIntegral
                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
                                        "values"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'values 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 <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                    (Prelude.fmap
                                                                       Prelude.fromIntegral
                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
                                                                    "values"
                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                                     (Data.ProtoLens.Encoding.Growing.append
                                                                        qs q)
                                                            ploop qs'
                                            in ploop)
                                             mutable'values)
                                loop x y
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'values
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'values <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'values)
          "CostModel"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'values") _x
              in
                if Data.Vector.Generic.null p then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         (Data.ProtoLens.Encoding.Bytes.runBuilder
                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                               ((Prelude..)
                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
                               p))))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData CostModel where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_CostModel'_unknownFields x__)
             (Control.DeepSeq.deepseq (_CostModel'values x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV1' @:: Lens' CostModelMap CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV1' @:: Lens' CostModelMap (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV2' @:: Lens' CostModelMap CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV2' @:: Lens' CostModelMap (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV3' @:: Lens' CostModelMap CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV3' @:: Lens' CostModelMap (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV4' @:: Lens' CostModelMap CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV4' @:: Lens' CostModelMap (Prelude.Maybe CostModel)@ -}
data CostModelMap
  = CostModelMap'_constructor {_CostModelMap'plutusV1 :: !(Prelude.Maybe CostModel),
                               _CostModelMap'plutusV2 :: !(Prelude.Maybe CostModel),
                               _CostModelMap'plutusV3 :: !(Prelude.Maybe CostModel),
                               _CostModelMap'plutusV4 :: !(Prelude.Maybe CostModel),
                               _CostModelMap'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show CostModelMap where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField CostModelMap "plutusV1" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV1
           (\ x__ y__ -> x__ {_CostModelMap'plutusV1 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModelMap "maybe'plutusV1" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV1
           (\ x__ y__ -> x__ {_CostModelMap'plutusV1 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModelMap "plutusV2" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV2
           (\ x__ y__ -> x__ {_CostModelMap'plutusV2 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModelMap "maybe'plutusV2" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV2
           (\ x__ y__ -> x__ {_CostModelMap'plutusV2 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModelMap "plutusV3" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV3
           (\ x__ y__ -> x__ {_CostModelMap'plutusV3 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModelMap "maybe'plutusV3" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV3
           (\ x__ y__ -> x__ {_CostModelMap'plutusV3 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModelMap "plutusV4" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV4
           (\ x__ y__ -> x__ {_CostModelMap'plutusV4 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModelMap "maybe'plutusV4" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModelMap'plutusV4
           (\ x__ y__ -> x__ {_CostModelMap'plutusV4 = y__}))
        Prelude.id
instance Data.ProtoLens.Message CostModelMap where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.CostModelMap"
  packedMessageDescriptor _
    = "\n\
      \\fCostModelMap\DC2>\n\
      \\tplutus_v1\CAN\SOH \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV1\DC2>\n\
      \\tplutus_v2\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV2\DC2>\n\
      \\tplutus_v3\CAN\ETX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV3\DC2>\n\
      \\tplutus_v4\CAN\EOT \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV4"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        plutusV1__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v1"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV1")) ::
              Data.ProtoLens.FieldDescriptor CostModelMap
        plutusV2__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v2"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV2")) ::
              Data.ProtoLens.FieldDescriptor CostModelMap
        plutusV3__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v3"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV3")) ::
              Data.ProtoLens.FieldDescriptor CostModelMap
        plutusV4__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v4"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV4")) ::
              Data.ProtoLens.FieldDescriptor CostModelMap
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, plutusV1__field_descriptor),
           (Data.ProtoLens.Tag 2, plutusV2__field_descriptor),
           (Data.ProtoLens.Tag 3, plutusV3__field_descriptor),
           (Data.ProtoLens.Tag 4, plutusV4__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _CostModelMap'_unknownFields
        (\ x__ y__ -> x__ {_CostModelMap'_unknownFields = y__})
  defMessage
    = CostModelMap'_constructor
        {_CostModelMap'plutusV1 = Prelude.Nothing,
         _CostModelMap'plutusV2 = Prelude.Nothing,
         _CostModelMap'plutusV3 = Prelude.Nothing,
         _CostModelMap'plutusV4 = Prelude.Nothing,
         _CostModelMap'_unknownFields = []}
  parseMessage
    = let
        loop ::
          CostModelMap -> Data.ProtoLens.Encoding.Bytes.Parser CostModelMap
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v1"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV1") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v2"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV2") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v3"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV3") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v4"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV4") y x)
                        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) "CostModelMap"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV1") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV2") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV3") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV4") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData CostModelMap where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_CostModelMap'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_CostModelMap'plutusV1 x__)
                (Control.DeepSeq.deepseq
                   (_CostModelMap'plutusV2 x__)
                   (Control.DeepSeq.deepseq
                      (_CostModelMap'plutusV3 x__)
                      (Control.DeepSeq.deepseq (_CostModelMap'plutusV4 x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV1' @:: Lens' CostModels CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV1' @:: Lens' CostModels (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV2' @:: Lens' CostModels CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV2' @:: Lens' CostModels (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV3' @:: Lens' CostModels CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV3' @:: Lens' CostModels (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV4' @:: Lens' CostModels CostModel@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV4' @:: Lens' CostModels (Prelude.Maybe CostModel)@ -}
data CostModels
  = CostModels'_constructor {_CostModels'plutusV1 :: !(Prelude.Maybe CostModel),
                             _CostModels'plutusV2 :: !(Prelude.Maybe CostModel),
                             _CostModels'plutusV3 :: !(Prelude.Maybe CostModel),
                             _CostModels'plutusV4 :: !(Prelude.Maybe CostModel),
                             _CostModels'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show CostModels where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField CostModels "plutusV1" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV1
           (\ x__ y__ -> x__ {_CostModels'plutusV1 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModels "maybe'plutusV1" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV1
           (\ x__ y__ -> x__ {_CostModels'plutusV1 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModels "plutusV2" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV2
           (\ x__ y__ -> x__ {_CostModels'plutusV2 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModels "maybe'plutusV2" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV2
           (\ x__ y__ -> x__ {_CostModels'plutusV2 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModels "plutusV3" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV3
           (\ x__ y__ -> x__ {_CostModels'plutusV3 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModels "maybe'plutusV3" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV3
           (\ x__ y__ -> x__ {_CostModels'plutusV3 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModels "plutusV4" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV4
           (\ x__ y__ -> x__ {_CostModels'plutusV4 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModels "maybe'plutusV4" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV4
           (\ x__ y__ -> x__ {_CostModels'plutusV4 = y__}))
        Prelude.id
instance Data.ProtoLens.Message CostModels where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.CostModels"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \CostModels\DC2>\n\
      \\tplutus_v1\CAN\SOH \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV1\DC2>\n\
      \\tplutus_v2\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV2\DC2>\n\
      \\tplutus_v3\CAN\ETX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV3\DC2>\n\
      \\tplutus_v4\CAN\EOT \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV4"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        plutusV1__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v1"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV1")) ::
              Data.ProtoLens.FieldDescriptor CostModels
        plutusV2__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v2"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV2")) ::
              Data.ProtoLens.FieldDescriptor CostModels
        plutusV3__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v3"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV3")) ::
              Data.ProtoLens.FieldDescriptor CostModels
        plutusV4__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v4"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV4")) ::
              Data.ProtoLens.FieldDescriptor CostModels
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, plutusV1__field_descriptor),
           (Data.ProtoLens.Tag 2, plutusV2__field_descriptor),
           (Data.ProtoLens.Tag 3, plutusV3__field_descriptor),
           (Data.ProtoLens.Tag 4, plutusV4__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _CostModels'_unknownFields
        (\ x__ y__ -> x__ {_CostModels'_unknownFields = y__})
  defMessage
    = CostModels'_constructor
        {_CostModels'plutusV1 = Prelude.Nothing,
         _CostModels'plutusV2 = Prelude.Nothing,
         _CostModels'plutusV3 = Prelude.Nothing,
         _CostModels'plutusV4 = Prelude.Nothing,
         _CostModels'_unknownFields = []}
  parseMessage
    = let
        loop ::
          CostModels -> Data.ProtoLens.Encoding.Bytes.Parser CostModels
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v1"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV1") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v2"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV2") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v3"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV3") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v4"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV4") y x)
                        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) "CostModels"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV1") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV2") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV3") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV4") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData CostModels where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_CostModels'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_CostModels'plutusV1 x__)
                (Control.DeepSeq.deepseq
                   (_CostModels'plutusV2 x__)
                   (Control.DeepSeq.deepseq
                      (_CostModels'plutusV3 x__)
                      (Control.DeepSeq.deepseq (_CostModels'plutusV4 x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drep' @:: Lens' DRep (Prelude.Maybe DRep'Drep)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'addrKeyHash' @:: Lens' DRep (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.addrKeyHash' @:: Lens' DRep Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'scriptHash' @:: Lens' DRep (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scriptHash' @:: Lens' DRep Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'abstain' @:: Lens' DRep (Prelude.Maybe Prelude.Bool)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.abstain' @:: Lens' DRep Prelude.Bool@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'noConfidence' @:: Lens' DRep (Prelude.Maybe Prelude.Bool)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.noConfidence' @:: Lens' DRep Prelude.Bool@ -}
data DRep
  = DRep'_constructor {_DRep'drep :: !(Prelude.Maybe DRep'Drep),
                       _DRep'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show DRep where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data DRep'Drep
  = DRep'AddrKeyHash !Data.ByteString.ByteString |
    DRep'ScriptHash !Data.ByteString.ByteString |
    DRep'Abstain !Prelude.Bool |
    DRep'NoConfidence !Prelude.Bool
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField DRep "maybe'drep" (Prelude.Maybe DRep'Drep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRep "maybe'addrKeyHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'AddrKeyHash x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'AddrKeyHash y__))
instance Data.ProtoLens.Field.HasField DRep "addrKeyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'AddrKeyHash x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'AddrKeyHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField DRep "maybe'scriptHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'ScriptHash x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'ScriptHash y__))
instance Data.ProtoLens.Field.HasField DRep "scriptHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'ScriptHash x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'ScriptHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField DRep "maybe'abstain" (Prelude.Maybe Prelude.Bool) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'Abstain x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'Abstain y__))
instance Data.ProtoLens.Field.HasField DRep "abstain" Prelude.Bool where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'Abstain x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'Abstain y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField DRep "maybe'noConfidence" (Prelude.Maybe Prelude.Bool) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'NoConfidence x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'NoConfidence y__))
instance Data.ProtoLens.Field.HasField DRep "noConfidence" Prelude.Bool where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'NoConfidence x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'NoConfidence y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message DRep where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.DRep"
  packedMessageDescriptor _
    = "\n\
      \\EOTDRep\DC2$\n\
      \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
      \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
      \scriptHash\DC2\SUB\n\
      \\aabstain\CAN\ETX \SOH(\bH\NULR\aabstain\DC2%\n\
      \\rno_confidence\CAN\EOT \SOH(\bH\NULR\fnoConfidenceB\ACK\n\
      \\EOTdrep"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        addrKeyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "addr_key_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'addrKeyHash")) ::
              Data.ProtoLens.FieldDescriptor DRep
        scriptHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptHash")) ::
              Data.ProtoLens.FieldDescriptor DRep
        abstain__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "abstain"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'abstain")) ::
              Data.ProtoLens.FieldDescriptor DRep
        noConfidence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "no_confidence"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'noConfidence")) ::
              Data.ProtoLens.FieldDescriptor DRep
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, addrKeyHash__field_descriptor),
           (Data.ProtoLens.Tag 2, scriptHash__field_descriptor),
           (Data.ProtoLens.Tag 3, abstain__field_descriptor),
           (Data.ProtoLens.Tag 4, noConfidence__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _DRep'_unknownFields
        (\ x__ y__ -> x__ {_DRep'_unknownFields = y__})
  defMessage
    = DRep'_constructor
        {_DRep'drep = Prelude.Nothing, _DRep'_unknownFields = []}
  parseMessage
    = let
        loop :: DRep -> Data.ProtoLens.Encoding.Bytes.Parser DRep
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "addr_key_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"addrKeyHash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "script_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptHash") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "abstain"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"abstain") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "no_confidence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"noConfidence") y x)
                        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) "DRep"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (DRep'AddrKeyHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (DRep'ScriptHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (DRep'Abstain v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
                          v)
                (Prelude.Just (DRep'NoConfidence v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData DRep where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_DRep'_unknownFields x__)
             (Control.DeepSeq.deepseq (_DRep'drep x__) ())
instance Control.DeepSeq.NFData DRep'Drep where
  rnf (DRep'AddrKeyHash x__) = Control.DeepSeq.rnf x__
  rnf (DRep'ScriptHash x__) = Control.DeepSeq.rnf x__
  rnf (DRep'Abstain x__) = Control.DeepSeq.rnf x__
  rnf (DRep'NoConfidence x__) = Control.DeepSeq.rnf x__
_DRep'AddrKeyHash ::
  Data.ProtoLens.Prism.Prism' DRep'Drep Data.ByteString.ByteString
_DRep'AddrKeyHash
  = Data.ProtoLens.Prism.prism'
      DRep'AddrKeyHash
      (\ p__
         -> case p__ of
              (DRep'AddrKeyHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_DRep'ScriptHash ::
  Data.ProtoLens.Prism.Prism' DRep'Drep Data.ByteString.ByteString
_DRep'ScriptHash
  = Data.ProtoLens.Prism.prism'
      DRep'ScriptHash
      (\ p__
         -> case p__ of
              (DRep'ScriptHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_DRep'Abstain :: Data.ProtoLens.Prism.Prism' DRep'Drep Prelude.Bool
_DRep'Abstain
  = Data.ProtoLens.Prism.prism'
      DRep'Abstain
      (\ p__
         -> case p__ of
              (DRep'Abstain p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_DRep'NoConfidence ::
  Data.ProtoLens.Prism.Prism' DRep'Drep Prelude.Bool
_DRep'NoConfidence
  = Data.ProtoLens.Prism.prism'
      DRep'NoConfidence
      (\ p__
         -> case p__ of
              (DRep'NoConfidence p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.motionNoConfidence' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'motionNoConfidence' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeNormal' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeNormal' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeNoConfidence' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeNoConfidence' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.updateToConstitution' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'updateToConstitution' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hardForkInitiation' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'hardForkInitiation' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ppNetworkGroup' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'ppNetworkGroup' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ppEconomicGroup' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'ppEconomicGroup' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ppTechnicalGroup' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'ppTechnicalGroup' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ppGovGroup' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'ppGovGroup' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.treasuryWithdrawal' @:: Lens' DRepVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'treasuryWithdrawal' @:: Lens' DRepVotingThresholds (Prelude.Maybe RationalNumber)@ -}
data DRepVotingThresholds
  = DRepVotingThresholds'_constructor {_DRepVotingThresholds'motionNoConfidence :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'committeeNormal :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'committeeNoConfidence :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'updateToConstitution :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'hardForkInitiation :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'ppNetworkGroup :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'ppEconomicGroup :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'ppTechnicalGroup :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'ppGovGroup :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'treasuryWithdrawal :: !(Prelude.Maybe RationalNumber),
                                       _DRepVotingThresholds'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show DRepVotingThresholds where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "motionNoConfidence" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'motionNoConfidence
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'motionNoConfidence = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'motionNoConfidence" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'motionNoConfidence
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'motionNoConfidence = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "committeeNormal" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'committeeNormal
           (\ x__ y__ -> x__ {_DRepVotingThresholds'committeeNormal = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'committeeNormal" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'committeeNormal
           (\ x__ y__ -> x__ {_DRepVotingThresholds'committeeNormal = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "committeeNoConfidence" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'committeeNoConfidence
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'committeeNoConfidence = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'committeeNoConfidence" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'committeeNoConfidence
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'committeeNoConfidence = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "updateToConstitution" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'updateToConstitution
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'updateToConstitution = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'updateToConstitution" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'updateToConstitution
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'updateToConstitution = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "hardForkInitiation" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'hardForkInitiation
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'hardForkInitiation = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'hardForkInitiation" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'hardForkInitiation
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'hardForkInitiation = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "ppNetworkGroup" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppNetworkGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppNetworkGroup = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'ppNetworkGroup" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppNetworkGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppNetworkGroup = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "ppEconomicGroup" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppEconomicGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppEconomicGroup = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'ppEconomicGroup" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppEconomicGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppEconomicGroup = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "ppTechnicalGroup" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppTechnicalGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppTechnicalGroup = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'ppTechnicalGroup" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppTechnicalGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppTechnicalGroup = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "ppGovGroup" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppGovGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppGovGroup = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'ppGovGroup" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'ppGovGroup
           (\ x__ y__ -> x__ {_DRepVotingThresholds'ppGovGroup = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "treasuryWithdrawal" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'treasuryWithdrawal
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'treasuryWithdrawal = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField DRepVotingThresholds "maybe'treasuryWithdrawal" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRepVotingThresholds'treasuryWithdrawal
           (\ x__ y__
              -> x__ {_DRepVotingThresholds'treasuryWithdrawal = y__}))
        Prelude.id
instance Data.ProtoLens.Message DRepVotingThresholds where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.DRepVotingThresholds"
  packedMessageDescriptor _
    = "\n\
      \\DC4DRepVotingThresholds\DC2X\n\
      \\DC4motion_no_confidence\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2motionNoConfidence\DC2Q\n\
      \\DLEcommittee_normal\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIcommitteeNormal\DC2^\n\
      \\ETBcommittee_no_confidence\CAN\ETX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\NAKcommitteeNoConfidence\DC2\\\n\
      \\SYNupdate_to_constitution\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC4updateToConstitution\DC2X\n\
      \\DC4hard_fork_initiation\CAN\ENQ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2hardForkInitiation\DC2P\n\
      \\DLEpp_network_group\CAN\ACK \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SOppNetworkGroup\DC2R\n\
      \\DC1pp_economic_group\CAN\a \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIppEconomicGroup\DC2T\n\
      \\DC2pp_technical_group\CAN\b \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DLEppTechnicalGroup\DC2H\n\
      \\fpp_gov_group\CAN\t \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\n\
      \ppGovGroup\DC2W\n\
      \\DC3treasury_withdrawal\CAN\n\
      \ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2treasuryWithdrawal"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        motionNoConfidence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "motion_no_confidence"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'motionNoConfidence")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        committeeNormal__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_normal"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeNormal")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        committeeNoConfidence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_no_confidence"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeNoConfidence")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        updateToConstitution__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_to_constitution"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'updateToConstitution")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        hardForkInitiation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hard_fork_initiation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'hardForkInitiation")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        ppNetworkGroup__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pp_network_group"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'ppNetworkGroup")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        ppEconomicGroup__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pp_economic_group"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'ppEconomicGroup")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        ppTechnicalGroup__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pp_technical_group"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'ppTechnicalGroup")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        ppGovGroup__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pp_gov_group"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'ppGovGroup")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
        treasuryWithdrawal__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "treasury_withdrawal"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'treasuryWithdrawal")) ::
              Data.ProtoLens.FieldDescriptor DRepVotingThresholds
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, motionNoConfidence__field_descriptor),
           (Data.ProtoLens.Tag 2, committeeNormal__field_descriptor),
           (Data.ProtoLens.Tag 3, committeeNoConfidence__field_descriptor),
           (Data.ProtoLens.Tag 4, updateToConstitution__field_descriptor),
           (Data.ProtoLens.Tag 5, hardForkInitiation__field_descriptor),
           (Data.ProtoLens.Tag 6, ppNetworkGroup__field_descriptor),
           (Data.ProtoLens.Tag 7, ppEconomicGroup__field_descriptor),
           (Data.ProtoLens.Tag 8, ppTechnicalGroup__field_descriptor),
           (Data.ProtoLens.Tag 9, ppGovGroup__field_descriptor),
           (Data.ProtoLens.Tag 10, treasuryWithdrawal__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _DRepVotingThresholds'_unknownFields
        (\ x__ y__ -> x__ {_DRepVotingThresholds'_unknownFields = y__})
  defMessage
    = DRepVotingThresholds'_constructor
        {_DRepVotingThresholds'motionNoConfidence = Prelude.Nothing,
         _DRepVotingThresholds'committeeNormal = Prelude.Nothing,
         _DRepVotingThresholds'committeeNoConfidence = Prelude.Nothing,
         _DRepVotingThresholds'updateToConstitution = Prelude.Nothing,
         _DRepVotingThresholds'hardForkInitiation = Prelude.Nothing,
         _DRepVotingThresholds'ppNetworkGroup = Prelude.Nothing,
         _DRepVotingThresholds'ppEconomicGroup = Prelude.Nothing,
         _DRepVotingThresholds'ppTechnicalGroup = Prelude.Nothing,
         _DRepVotingThresholds'ppGovGroup = Prelude.Nothing,
         _DRepVotingThresholds'treasuryWithdrawal = Prelude.Nothing,
         _DRepVotingThresholds'_unknownFields = []}
  parseMessage
    = let
        loop ::
          DRepVotingThresholds
          -> Data.ProtoLens.Encoding.Bytes.Parser DRepVotingThresholds
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "motion_no_confidence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"motionNoConfidence") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_normal"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeNormal") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_no_confidence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeNoConfidence") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "update_to_constitution"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateToConstitution") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "hard_fork_initiation"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"hardForkInitiation") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pp_network_group"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"ppNetworkGroup") y x)
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pp_economic_group"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"ppEconomicGroup") y x)
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pp_technical_group"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"ppTechnicalGroup") y x)
                        74
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pp_gov_group"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"ppGovGroup") y x)
                        82
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "treasury_withdrawal"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"treasuryWithdrawal") y x)
                        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) "DRepVotingThresholds"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'motionNoConfidence") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'committeeNormal") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'committeeNoConfidence") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'updateToConstitution") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view
                                (Data.ProtoLens.Field.field @"maybe'hardForkInitiation") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         ((Data.Monoid.<>)
                            (case
                                 Lens.Family2.view
                                   (Data.ProtoLens.Field.field @"maybe'ppNetworkGroup") _x
                             of
                               Prelude.Nothing -> Data.Monoid.mempty
                               (Prelude.Just _v)
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                      ((Prelude..)
                                         (\ bs
                                            -> (Data.Monoid.<>)
                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                    (Prelude.fromIntegral
                                                       (Data.ByteString.length bs)))
                                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                         Data.ProtoLens.encodeMessage _v))
                            ((Data.Monoid.<>)
                               (case
                                    Lens.Family2.view
                                      (Data.ProtoLens.Field.field @"maybe'ppEconomicGroup") _x
                                of
                                  Prelude.Nothing -> Data.Monoid.mempty
                                  (Prelude.Just _v)
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                         ((Prelude..)
                                            (\ bs
                                               -> (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                       (Prelude.fromIntegral
                                                          (Data.ByteString.length bs)))
                                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                            Data.ProtoLens.encodeMessage _v))
                               ((Data.Monoid.<>)
                                  (case
                                       Lens.Family2.view
                                         (Data.ProtoLens.Field.field @"maybe'ppTechnicalGroup") _x
                                   of
                                     Prelude.Nothing -> Data.Monoid.mempty
                                     (Prelude.Just _v)
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                            ((Prelude..)
                                               (\ bs
                                                  -> (Data.Monoid.<>)
                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                          (Prelude.fromIntegral
                                                             (Data.ByteString.length bs)))
                                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                               Data.ProtoLens.encodeMessage _v))
                                  ((Data.Monoid.<>)
                                     (case
                                          Lens.Family2.view
                                            (Data.ProtoLens.Field.field @"maybe'ppGovGroup") _x
                                      of
                                        Prelude.Nothing -> Data.Monoid.mempty
                                        (Prelude.Just _v)
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                                               ((Prelude..)
                                                  (\ bs
                                                     -> (Data.Monoid.<>)
                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                             (Prelude.fromIntegral
                                                                (Data.ByteString.length bs)))
                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                             bs))
                                                  Data.ProtoLens.encodeMessage _v))
                                     ((Data.Monoid.<>)
                                        (case
                                             Lens.Family2.view
                                               (Data.ProtoLens.Field.field
                                                  @"maybe'treasuryWithdrawal")
                                               _x
                                         of
                                           Prelude.Nothing -> Data.Monoid.mempty
                                           (Prelude.Just _v)
                                             -> (Data.Monoid.<>)
                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
                                                  ((Prelude..)
                                                     (\ bs
                                                        -> (Data.Monoid.<>)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                (Prelude.fromIntegral
                                                                   (Data.ByteString.length bs)))
                                                             (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                bs))
                                                     Data.ProtoLens.encodeMessage _v))
                                        (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                           (Lens.Family2.view
                                              Data.ProtoLens.unknownFields _x)))))))))))
instance Control.DeepSeq.NFData DRepVotingThresholds where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_DRepVotingThresholds'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_DRepVotingThresholds'motionNoConfidence x__)
                (Control.DeepSeq.deepseq
                   (_DRepVotingThresholds'committeeNormal x__)
                   (Control.DeepSeq.deepseq
                      (_DRepVotingThresholds'committeeNoConfidence x__)
                      (Control.DeepSeq.deepseq
                         (_DRepVotingThresholds'updateToConstitution x__)
                         (Control.DeepSeq.deepseq
                            (_DRepVotingThresholds'hardForkInitiation x__)
                            (Control.DeepSeq.deepseq
                               (_DRepVotingThresholds'ppNetworkGroup x__)
                               (Control.DeepSeq.deepseq
                                  (_DRepVotingThresholds'ppEconomicGroup x__)
                                  (Control.DeepSeq.deepseq
                                     (_DRepVotingThresholds'ppTechnicalGroup x__)
                                     (Control.DeepSeq.deepseq
                                        (_DRepVotingThresholds'ppGovGroup x__)
                                        (Control.DeepSeq.deepseq
                                           (_DRepVotingThresholds'treasuryWithdrawal x__)
                                           ()))))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hash' @:: Lens' Datum Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.payload' @:: Lens' Datum PlutusData@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'payload' @:: Lens' Datum (Prelude.Maybe PlutusData)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.originalCbor' @:: Lens' Datum Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'originalCbor' @:: Lens' Datum (Prelude.Maybe Data.ByteString.ByteString)@ -}
data Datum
  = Datum'_constructor {_Datum'hash :: !Data.ByteString.ByteString,
                        _Datum'payload :: !(Prelude.Maybe PlutusData),
                        _Datum'originalCbor :: !(Prelude.Maybe Data.ByteString.ByteString),
                        _Datum'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Datum where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Datum "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'hash (\ x__ y__ -> x__ {_Datum'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Datum "payload" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'payload (\ x__ y__ -> x__ {_Datum'payload = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Datum "maybe'payload" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'payload (\ x__ y__ -> x__ {_Datum'payload = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Datum "originalCbor" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'originalCbor (\ x__ y__ -> x__ {_Datum'originalCbor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField Datum "maybe'originalCbor" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'originalCbor (\ x__ y__ -> x__ {_Datum'originalCbor = y__}))
        Prelude.id
instance Data.ProtoLens.Message Datum where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Datum"
  packedMessageDescriptor _
    = "\n\
      \\ENQDatum\DC2\DC2\n\
      \\EOThash\CAN\SOH \SOH(\fR\EOThash\DC2A\n\
      \\apayload\CAN\STX \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataH\NULR\apayload\136\SOH\SOH\DC2(\n\
      \\roriginal_cbor\CAN\ETX \SOH(\fH\SOHR\foriginalCbor\136\SOH\SOHB\n\
      \\n\
      \\b_payloadB\DLE\n\
      \\SO_original_cbor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor Datum
        payload__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "payload"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'payload")) ::
              Data.ProtoLens.FieldDescriptor Datum
        originalCbor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "original_cbor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'originalCbor")) ::
              Data.ProtoLens.FieldDescriptor Datum
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, hash__field_descriptor),
           (Data.ProtoLens.Tag 2, payload__field_descriptor),
           (Data.ProtoLens.Tag 3, originalCbor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Datum'_unknownFields
        (\ x__ y__ -> x__ {_Datum'_unknownFields = y__})
  defMessage
    = Datum'_constructor
        {_Datum'hash = Data.ProtoLens.fieldDefault,
         _Datum'payload = Prelude.Nothing,
         _Datum'originalCbor = Prelude.Nothing, _Datum'_unknownFields = []}
  parseMessage
    = let
        loop :: Datum -> Data.ProtoLens.Encoding.Bytes.Parser Datum
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "payload"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"payload") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "original_cbor"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"originalCbor") y x)
                        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) "Datum"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'payload") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'originalCbor") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Datum where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Datum'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Datum'hash x__)
                (Control.DeepSeq.deepseq
                   (_Datum'payload x__)
                   (Control.DeepSeq.deepseq (_Datum'originalCbor x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.time' @:: Lens' EraBoundary Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.slot' @:: Lens' EraBoundary Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.epoch' @:: Lens' EraBoundary Data.Word.Word64@ -}
data EraBoundary
  = EraBoundary'_constructor {_EraBoundary'time :: !Data.Word.Word64,
                              _EraBoundary'slot :: !Data.Word.Word64,
                              _EraBoundary'epoch :: !Data.Word.Word64,
                              _EraBoundary'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show EraBoundary where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField EraBoundary "time" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraBoundary'time (\ x__ y__ -> x__ {_EraBoundary'time = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField EraBoundary "slot" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraBoundary'slot (\ x__ y__ -> x__ {_EraBoundary'slot = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField EraBoundary "epoch" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraBoundary'epoch (\ x__ y__ -> x__ {_EraBoundary'epoch = y__}))
        Prelude.id
instance Data.ProtoLens.Message EraBoundary where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.EraBoundary"
  packedMessageDescriptor _
    = "\n\
      \\vEraBoundary\DC2\DC2\n\
      \\EOTtime\CAN\SOH \SOH(\EOTR\EOTtime\DC2\DC2\n\
      \\EOTslot\CAN\STX \SOH(\EOTR\EOTslot\DC2\DC4\n\
      \\ENQepoch\CAN\ETX \SOH(\EOTR\ENQepoch"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        time__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "time"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"time")) ::
              Data.ProtoLens.FieldDescriptor EraBoundary
        slot__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "slot"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"slot")) ::
              Data.ProtoLens.FieldDescriptor EraBoundary
        epoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"epoch")) ::
              Data.ProtoLens.FieldDescriptor EraBoundary
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, time__field_descriptor),
           (Data.ProtoLens.Tag 2, slot__field_descriptor),
           (Data.ProtoLens.Tag 3, epoch__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _EraBoundary'_unknownFields
        (\ x__ y__ -> x__ {_EraBoundary'_unknownFields = y__})
  defMessage
    = EraBoundary'_constructor
        {_EraBoundary'time = Data.ProtoLens.fieldDefault,
         _EraBoundary'slot = Data.ProtoLens.fieldDefault,
         _EraBoundary'epoch = Data.ProtoLens.fieldDefault,
         _EraBoundary'_unknownFields = []}
  parseMessage
    = let
        loop ::
          EraBoundary -> Data.ProtoLens.Encoding.Bytes.Parser EraBoundary
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "time"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"time") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "slot"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"slot") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "epoch"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"epoch") y x)
                        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) "EraBoundary"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"time") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"slot") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"epoch") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData EraBoundary where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_EraBoundary'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_EraBoundary'time x__)
                (Control.DeepSeq.deepseq
                   (_EraBoundary'slot x__)
                   (Control.DeepSeq.deepseq (_EraBoundary'epoch x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.summaries' @:: Lens' EraSummaries [EraSummary]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'summaries' @:: Lens' EraSummaries (Data.Vector.Vector EraSummary)@ -}
data EraSummaries
  = EraSummaries'_constructor {_EraSummaries'summaries :: !(Data.Vector.Vector EraSummary),
                               _EraSummaries'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show EraSummaries where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField EraSummaries "summaries" [EraSummary] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummaries'summaries
           (\ x__ y__ -> x__ {_EraSummaries'summaries = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField EraSummaries "vec'summaries" (Data.Vector.Vector EraSummary) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummaries'summaries
           (\ x__ y__ -> x__ {_EraSummaries'summaries = y__}))
        Prelude.id
instance Data.ProtoLens.Message EraSummaries where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.EraSummaries"
  packedMessageDescriptor _
    = "\n\
      \\fEraSummaries\DC2@\n\
      \\tsummaries\CAN\SOH \ETX(\v2\".utxorpc.v1beta.cardano.EraSummaryR\tsummaries"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        summaries__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "summaries"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor EraSummary)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"summaries")) ::
              Data.ProtoLens.FieldDescriptor EraSummaries
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, summaries__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _EraSummaries'_unknownFields
        (\ x__ y__ -> x__ {_EraSummaries'_unknownFields = y__})
  defMessage
    = EraSummaries'_constructor
        {_EraSummaries'summaries = Data.Vector.Generic.empty,
         _EraSummaries'_unknownFields = []}
  parseMessage
    = let
        loop ::
          EraSummaries
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EraSummary
             -> Data.ProtoLens.Encoding.Bytes.Parser EraSummaries
        loop x mutable'summaries
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'summaries <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                               mutable'summaries)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'summaries") frozen'summaries x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "summaries"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'summaries 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'summaries
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'summaries <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'summaries)
          "EraSummaries"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'summaries") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData EraSummaries where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_EraSummaries'_unknownFields x__)
             (Control.DeepSeq.deepseq (_EraSummaries'summaries x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.name' @:: Lens' EraSummary Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.start' @:: Lens' EraSummary EraBoundary@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'start' @:: Lens' EraSummary (Prelude.Maybe EraBoundary)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.end' @:: Lens' EraSummary EraBoundary@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'end' @:: Lens' EraSummary (Prelude.Maybe EraBoundary)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.protocolParams' @:: Lens' EraSummary PParams@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'protocolParams' @:: Lens' EraSummary (Prelude.Maybe PParams)@ -}
data EraSummary
  = EraSummary'_constructor {_EraSummary'name :: !Data.Text.Text,
                             _EraSummary'start :: !(Prelude.Maybe EraBoundary),
                             _EraSummary'end :: !(Prelude.Maybe EraBoundary),
                             _EraSummary'protocolParams :: !(Prelude.Maybe PParams),
                             _EraSummary'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show EraSummary where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField EraSummary "name" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummary'name (\ x__ y__ -> x__ {_EraSummary'name = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField EraSummary "start" EraBoundary where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummary'start (\ x__ y__ -> x__ {_EraSummary'start = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField EraSummary "maybe'start" (Prelude.Maybe EraBoundary) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummary'start (\ x__ y__ -> x__ {_EraSummary'start = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField EraSummary "end" EraBoundary where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummary'end (\ x__ y__ -> x__ {_EraSummary'end = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField EraSummary "maybe'end" (Prelude.Maybe EraBoundary) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummary'end (\ x__ y__ -> x__ {_EraSummary'end = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField EraSummary "protocolParams" PParams where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummary'protocolParams
           (\ x__ y__ -> x__ {_EraSummary'protocolParams = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField EraSummary "maybe'protocolParams" (Prelude.Maybe PParams) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EraSummary'protocolParams
           (\ x__ y__ -> x__ {_EraSummary'protocolParams = y__}))
        Prelude.id
instance Data.ProtoLens.Message EraSummary where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.EraSummary"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \EraSummary\DC2\DC2\n\
      \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC29\n\
      \\ENQstart\CAN\STX \SOH(\v2#.utxorpc.v1beta.cardano.EraBoundaryR\ENQstart\DC25\n\
      \\ETXend\CAN\ETX \SOH(\v2#.utxorpc.v1beta.cardano.EraBoundaryR\ETXend\DC2H\n\
      \\SIprotocol_params\CAN\EOT \SOH(\v2\US.utxorpc.v1beta.cardano.PParamsR\SOprotocolParams"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        name__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "name"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
              Data.ProtoLens.FieldDescriptor EraSummary
        start__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "start"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor EraBoundary)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'start")) ::
              Data.ProtoLens.FieldDescriptor EraSummary
        end__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "end"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor EraBoundary)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'end")) ::
              Data.ProtoLens.FieldDescriptor EraSummary
        protocolParams__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_params"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PParams)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolParams")) ::
              Data.ProtoLens.FieldDescriptor EraSummary
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, name__field_descriptor),
           (Data.ProtoLens.Tag 2, start__field_descriptor),
           (Data.ProtoLens.Tag 3, end__field_descriptor),
           (Data.ProtoLens.Tag 4, protocolParams__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _EraSummary'_unknownFields
        (\ x__ y__ -> x__ {_EraSummary'_unknownFields = y__})
  defMessage
    = EraSummary'_constructor
        {_EraSummary'name = Data.ProtoLens.fieldDefault,
         _EraSummary'start = Prelude.Nothing,
         _EraSummary'end = Prelude.Nothing,
         _EraSummary'protocolParams = Prelude.Nothing,
         _EraSummary'_unknownFields = []}
  parseMessage
    = let
        loop ::
          EraSummary -> Data.ProtoLens.Encoding.Bytes.Parser EraSummary
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "name"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "start"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "end"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_params"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolParams") y x)
                        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) "EraSummary"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'protocolParams") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData EraSummary where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_EraSummary'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_EraSummary'name x__)
                (Control.DeepSeq.deepseq
                   (_EraSummary'start x__)
                   (Control.DeepSeq.deepseq
                      (_EraSummary'end x__)
                      (Control.DeepSeq.deepseq (_EraSummary'protocolParams x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.msg' @:: Lens' EvalReport Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.purpose' @:: Lens' EvalReport RedeemerPurpose@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'purpose' @:: Lens' EvalReport (Prelude.Maybe RedeemerPurpose)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.index' @:: Lens' EvalReport Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'index' @:: Lens' EvalReport (Prelude.Maybe Data.Word.Word32)@ -}
data EvalReport
  = EvalReport'_constructor {_EvalReport'msg :: !Data.Text.Text,
                             _EvalReport'purpose :: !(Prelude.Maybe RedeemerPurpose),
                             _EvalReport'index :: !(Prelude.Maybe Data.Word.Word32),
                             _EvalReport'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show EvalReport where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField EvalReport "msg" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EvalReport'msg (\ x__ y__ -> x__ {_EvalReport'msg = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField EvalReport "purpose" RedeemerPurpose where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EvalReport'purpose (\ x__ y__ -> x__ {_EvalReport'purpose = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField EvalReport "maybe'purpose" (Prelude.Maybe RedeemerPurpose) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EvalReport'purpose (\ x__ y__ -> x__ {_EvalReport'purpose = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField EvalReport "index" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EvalReport'index (\ x__ y__ -> x__ {_EvalReport'index = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
instance Data.ProtoLens.Field.HasField EvalReport "maybe'index" (Prelude.Maybe Data.Word.Word32) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EvalReport'index (\ x__ y__ -> x__ {_EvalReport'index = y__}))
        Prelude.id
instance Data.ProtoLens.Message EvalReport where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.EvalReport"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \EvalReport\DC2\DLE\n\
      \\ETXmsg\CAN\SOH \SOH(\tR\ETXmsg\DC2F\n\
      \\apurpose\CAN\STX \SOH(\SO2'.utxorpc.v1beta.cardano.RedeemerPurposeH\NULR\apurpose\136\SOH\SOH\DC2\EM\n\
      \\ENQindex\CAN\ETX \SOH(\rH\SOHR\ENQindex\136\SOH\SOHB\n\
      \\n\
      \\b_purposeB\b\n\
      \\ACK_index"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        msg__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "msg"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"msg")) ::
              Data.ProtoLens.FieldDescriptor EvalReport
        purpose__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "purpose"
              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
                 Data.ProtoLens.FieldTypeDescriptor RedeemerPurpose)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'purpose")) ::
              Data.ProtoLens.FieldDescriptor EvalReport
        index__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "index"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'index")) ::
              Data.ProtoLens.FieldDescriptor EvalReport
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, msg__field_descriptor),
           (Data.ProtoLens.Tag 2, purpose__field_descriptor),
           (Data.ProtoLens.Tag 3, index__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _EvalReport'_unknownFields
        (\ x__ y__ -> x__ {_EvalReport'_unknownFields = y__})
  defMessage
    = EvalReport'_constructor
        {_EvalReport'msg = Data.ProtoLens.fieldDefault,
         _EvalReport'purpose = Prelude.Nothing,
         _EvalReport'index = Prelude.Nothing,
         _EvalReport'_unknownFields = []}
  parseMessage
    = let
        loop ::
          EvalReport -> Data.ProtoLens.Encoding.Bytes.Parser EvalReport
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "msg"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"msg") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.toEnum
                                          (Prelude.fmap
                                             Prelude.fromIntegral
                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
                                       "purpose"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"purpose") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "index"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"index") y x)
                        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) "EvalReport"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"msg") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'purpose") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                          ((Prelude..)
                             ((Prelude..)
                                Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
                             Prelude.fromEnum _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'index") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                             ((Prelude..)
                                Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData EvalReport where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_EvalReport'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_EvalReport'msg x__)
                (Control.DeepSeq.deepseq
                   (_EvalReport'purpose x__)
                   (Control.DeepSeq.deepseq (_EvalReport'index x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.steps' @:: Lens' ExPrices RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'steps' @:: Lens' ExPrices (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.memory' @:: Lens' ExPrices RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'memory' @:: Lens' ExPrices (Prelude.Maybe RationalNumber)@ -}
data ExPrices
  = ExPrices'_constructor {_ExPrices'steps :: !(Prelude.Maybe RationalNumber),
                           _ExPrices'memory :: !(Prelude.Maybe RationalNumber),
                           _ExPrices'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ExPrices where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ExPrices "steps" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'steps (\ x__ y__ -> x__ {_ExPrices'steps = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ExPrices "maybe'steps" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'steps (\ x__ y__ -> x__ {_ExPrices'steps = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ExPrices "memory" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'memory (\ x__ y__ -> x__ {_ExPrices'memory = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ExPrices "maybe'memory" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'memory (\ x__ y__ -> x__ {_ExPrices'memory = y__}))
        Prelude.id
instance Data.ProtoLens.Message ExPrices where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.ExPrices"
  packedMessageDescriptor _
    = "\n\
      \\bExPrices\DC2<\n\
      \\ENQsteps\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\ENQsteps\DC2>\n\
      \\ACKmemory\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\ACKmemory"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        steps__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "steps"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'steps")) ::
              Data.ProtoLens.FieldDescriptor ExPrices
        memory__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "memory"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'memory")) ::
              Data.ProtoLens.FieldDescriptor ExPrices
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, steps__field_descriptor),
           (Data.ProtoLens.Tag 2, memory__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ExPrices'_unknownFields
        (\ x__ y__ -> x__ {_ExPrices'_unknownFields = y__})
  defMessage
    = ExPrices'_constructor
        {_ExPrices'steps = Prelude.Nothing,
         _ExPrices'memory = Prelude.Nothing, _ExPrices'_unknownFields = []}
  parseMessage
    = let
        loop :: ExPrices -> Data.ProtoLens.Encoding.Bytes.Parser ExPrices
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "steps"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"steps") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "memory"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"memory") y x)
                        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) "ExPrices"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'steps") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'memory") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ExPrices where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ExPrices'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ExPrices'steps x__)
                (Control.DeepSeq.deepseq (_ExPrices'memory x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.steps' @:: Lens' ExUnits Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.memory' @:: Lens' ExUnits Data.Word.Word64@ -}
data ExUnits
  = ExUnits'_constructor {_ExUnits'steps :: !Data.Word.Word64,
                          _ExUnits'memory :: !Data.Word.Word64,
                          _ExUnits'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ExUnits where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ExUnits "steps" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExUnits'steps (\ x__ y__ -> x__ {_ExUnits'steps = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ExUnits "memory" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExUnits'memory (\ x__ y__ -> x__ {_ExUnits'memory = y__}))
        Prelude.id
instance Data.ProtoLens.Message ExUnits where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.ExUnits"
  packedMessageDescriptor _
    = "\n\
      \\aExUnits\DC2\DC4\n\
      \\ENQsteps\CAN\SOH \SOH(\EOTR\ENQsteps\DC2\SYN\n\
      \\ACKmemory\CAN\STX \SOH(\EOTR\ACKmemory"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        steps__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "steps"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"steps")) ::
              Data.ProtoLens.FieldDescriptor ExUnits
        memory__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "memory"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"memory")) ::
              Data.ProtoLens.FieldDescriptor ExUnits
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, steps__field_descriptor),
           (Data.ProtoLens.Tag 2, memory__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ExUnits'_unknownFields
        (\ x__ y__ -> x__ {_ExUnits'_unknownFields = y__})
  defMessage
    = ExUnits'_constructor
        {_ExUnits'steps = Data.ProtoLens.fieldDefault,
         _ExUnits'memory = Data.ProtoLens.fieldDefault,
         _ExUnits'_unknownFields = []}
  parseMessage
    = let
        loop :: ExUnits -> Data.ProtoLens.Encoding.Bytes.Parser ExUnits
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "steps"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"steps") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "memory"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"memory") y x)
                        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) "ExUnits"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"steps") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"memory") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ExUnits where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ExUnits'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ExUnits'steps x__)
                (Control.DeepSeq.deepseq (_ExUnits'memory x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.tag' @:: Lens' ExtraEntropy Data.Text.Text@ -}
data ExtraEntropy
  = ExtraEntropy'_constructor {_ExtraEntropy'tag :: !Data.Text.Text,
                               _ExtraEntropy'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ExtraEntropy where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ExtraEntropy "tag" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExtraEntropy'tag (\ x__ y__ -> x__ {_ExtraEntropy'tag = y__}))
        Prelude.id
instance Data.ProtoLens.Message ExtraEntropy where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.ExtraEntropy"
  packedMessageDescriptor _
    = "\n\
      \\fExtraEntropy\DC2\DLE\n\
      \\ETXtag\CAN\SOH \SOH(\tR\ETXtag"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        tag__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tag"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"tag")) ::
              Data.ProtoLens.FieldDescriptor ExtraEntropy
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, tag__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ExtraEntropy'_unknownFields
        (\ x__ y__ -> x__ {_ExtraEntropy'_unknownFields = y__})
  defMessage
    = ExtraEntropy'_constructor
        {_ExtraEntropy'tag = Data.ProtoLens.fieldDefault,
         _ExtraEntropy'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ExtraEntropy -> Data.ProtoLens.Encoding.Bytes.Parser ExtraEntropy
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "tag"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"tag") y x)
                        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) "ExtraEntropy"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"tag") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData ExtraEntropy where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ExtraEntropy'_unknownFields x__)
             (Control.DeepSeq.deepseq (_ExtraEntropy'tag x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.delegate' @:: Lens' GenDelegs Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vrf' @:: Lens' GenDelegs Data.Text.Text@ -}
data GenDelegs
  = GenDelegs'_constructor {_GenDelegs'delegate :: !Data.Text.Text,
                            _GenDelegs'vrf :: !Data.Text.Text,
                            _GenDelegs'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GenDelegs where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField GenDelegs "delegate" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenDelegs'delegate (\ x__ y__ -> x__ {_GenDelegs'delegate = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GenDelegs "vrf" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenDelegs'vrf (\ x__ y__ -> x__ {_GenDelegs'vrf = y__}))
        Prelude.id
instance Data.ProtoLens.Message GenDelegs where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.GenDelegs"
  packedMessageDescriptor _
    = "\n\
      \\tGenDelegs\DC2\SUB\n\
      \\bdelegate\CAN\SOH \SOH(\tR\bdelegate\DC2\DLE\n\
      \\ETXvrf\CAN\STX \SOH(\tR\ETXvrf"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        delegate__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "delegate"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"delegate")) ::
              Data.ProtoLens.FieldDescriptor GenDelegs
        vrf__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vrf"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"vrf")) ::
              Data.ProtoLens.FieldDescriptor GenDelegs
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, delegate__field_descriptor),
           (Data.ProtoLens.Tag 2, vrf__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GenDelegs'_unknownFields
        (\ x__ y__ -> x__ {_GenDelegs'_unknownFields = y__})
  defMessage
    = GenDelegs'_constructor
        {_GenDelegs'delegate = Data.ProtoLens.fieldDefault,
         _GenDelegs'vrf = Data.ProtoLens.fieldDefault,
         _GenDelegs'_unknownFields = []}
  parseMessage
    = let
        loop :: GenDelegs -> Data.ProtoLens.Encoding.Bytes.Parser GenDelegs
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "delegate"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"delegate") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "vrf"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"vrf") y x)
                        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) "GenDelegs"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"delegate") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"vrf") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData GenDelegs where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GenDelegs'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GenDelegs'delegate x__)
                (Control.DeepSeq.deepseq (_GenDelegs'vrf x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.avvmDistr' @:: Lens' Genesis (Data.Map.Map Data.Text.Text Data.Text.Text)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.blockVersionData' @:: Lens' Genesis BlockVersionData@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'blockVersionData' @:: Lens' Genesis (Prelude.Maybe BlockVersionData)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ftsSeed' @:: Lens' Genesis Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.protocolConsts' @:: Lens' Genesis ProtocolConsts@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'protocolConsts' @:: Lens' Genesis (Prelude.Maybe ProtocolConsts)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.startTime' @:: Lens' Genesis Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.bootStakeholders' @:: Lens' Genesis (Data.Map.Map Data.Text.Text Data.Word.Word64)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.heavyDelegation' @:: Lens' Genesis (Data.Map.Map Data.Text.Text HeavyDelegation)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.nonAvvmBalances' @:: Lens' Genesis (Data.Map.Map Data.Text.Text Data.Text.Text)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vssCerts' @:: Lens' Genesis (Data.Map.Map Data.Text.Text VssCert)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.activeSlotsCoeff' @:: Lens' Genesis RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'activeSlotsCoeff' @:: Lens' Genesis (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.epochLength' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.genDelegs' @:: Lens' Genesis (Data.Map.Map Data.Text.Text GenDelegs)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.initialFunds' @:: Lens' Genesis (Data.Map.Map Data.Text.Text BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxKesEvolutions' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxLovelaceSupply' @:: Lens' Genesis BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'maxLovelaceSupply' @:: Lens' Genesis (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.networkId' @:: Lens' Genesis Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.networkMagic' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.protocolParams' @:: Lens' Genesis PParams@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'protocolParams' @:: Lens' Genesis (Prelude.Maybe PParams)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.securityParam' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.slotLength' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.slotsPerKesPeriod' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.systemStart' @:: Lens' Genesis Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.updateQuorum' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.lovelacePerUtxoWord' @:: Lens' Genesis BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'lovelacePerUtxoWord' @:: Lens' Genesis (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.executionPrices' @:: Lens' Genesis ExPrices@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'executionPrices' @:: Lens' Genesis (Prelude.Maybe ExPrices)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxTxExUnits' @:: Lens' Genesis ExUnits@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'maxTxExUnits' @:: Lens' Genesis (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxBlockExUnits' @:: Lens' Genesis ExUnits@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'maxBlockExUnits' @:: Lens' Genesis (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxValueSize' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.collateralPercentage' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxCollateralInputs' @:: Lens' Genesis Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.costModels' @:: Lens' Genesis CostModelMap@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'costModels' @:: Lens' Genesis (Prelude.Maybe CostModelMap)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committee' @:: Lens' Genesis Committee@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committee' @:: Lens' Genesis (Prelude.Maybe Committee)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.constitution' @:: Lens' Genesis Constitution@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'constitution' @:: Lens' Genesis (Prelude.Maybe Constitution)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeMinSize' @:: Lens' Genesis Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeMaxTermLength' @:: Lens' Genesis Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govActionLifetime' @:: Lens' Genesis Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govActionDeposit' @:: Lens' Genesis BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'govActionDeposit' @:: Lens' Genesis (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepDeposit' @:: Lens' Genesis BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drepDeposit' @:: Lens' Genesis (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepActivity' @:: Lens' Genesis Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minFeeRefScriptCostPerByte' @:: Lens' Genesis RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'minFeeRefScriptCostPerByte' @:: Lens' Genesis (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepVotingThresholds' @:: Lens' Genesis DRepVotingThresholds@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drepVotingThresholds' @:: Lens' Genesis (Prelude.Maybe DRepVotingThresholds)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolVotingThresholds' @:: Lens' Genesis PoolVotingThresholds@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolVotingThresholds' @:: Lens' Genesis (Prelude.Maybe PoolVotingThresholds)@ -}
data Genesis
  = Genesis'_constructor {_Genesis'avvmDistr :: !(Data.Map.Map Data.Text.Text Data.Text.Text),
                          _Genesis'blockVersionData :: !(Prelude.Maybe BlockVersionData),
                          _Genesis'ftsSeed :: !Data.Text.Text,
                          _Genesis'protocolConsts :: !(Prelude.Maybe ProtocolConsts),
                          _Genesis'startTime :: !Data.Word.Word64,
                          _Genesis'bootStakeholders :: !(Data.Map.Map Data.Text.Text Data.Word.Word64),
                          _Genesis'heavyDelegation :: !(Data.Map.Map Data.Text.Text HeavyDelegation),
                          _Genesis'nonAvvmBalances :: !(Data.Map.Map Data.Text.Text Data.Text.Text),
                          _Genesis'vssCerts :: !(Data.Map.Map Data.Text.Text VssCert),
                          _Genesis'activeSlotsCoeff :: !(Prelude.Maybe RationalNumber),
                          _Genesis'epochLength :: !Data.Word.Word32,
                          _Genesis'genDelegs :: !(Data.Map.Map Data.Text.Text GenDelegs),
                          _Genesis'initialFunds :: !(Data.Map.Map Data.Text.Text BigInt),
                          _Genesis'maxKesEvolutions :: !Data.Word.Word32,
                          _Genesis'maxLovelaceSupply :: !(Prelude.Maybe BigInt),
                          _Genesis'networkId :: !Data.Text.Text,
                          _Genesis'networkMagic :: !Data.Word.Word32,
                          _Genesis'protocolParams :: !(Prelude.Maybe PParams),
                          _Genesis'securityParam :: !Data.Word.Word32,
                          _Genesis'slotLength :: !Data.Word.Word32,
                          _Genesis'slotsPerKesPeriod :: !Data.Word.Word32,
                          _Genesis'systemStart :: !Data.Text.Text,
                          _Genesis'updateQuorum :: !Data.Word.Word32,
                          _Genesis'lovelacePerUtxoWord :: !(Prelude.Maybe BigInt),
                          _Genesis'executionPrices :: !(Prelude.Maybe ExPrices),
                          _Genesis'maxTxExUnits :: !(Prelude.Maybe ExUnits),
                          _Genesis'maxBlockExUnits :: !(Prelude.Maybe ExUnits),
                          _Genesis'maxValueSize :: !Data.Word.Word32,
                          _Genesis'collateralPercentage :: !Data.Word.Word32,
                          _Genesis'maxCollateralInputs :: !Data.Word.Word32,
                          _Genesis'costModels :: !(Prelude.Maybe CostModelMap),
                          _Genesis'committee :: !(Prelude.Maybe Committee),
                          _Genesis'constitution :: !(Prelude.Maybe Constitution),
                          _Genesis'committeeMinSize :: !Data.Word.Word64,
                          _Genesis'committeeMaxTermLength :: !Data.Word.Word64,
                          _Genesis'govActionLifetime :: !Data.Word.Word64,
                          _Genesis'govActionDeposit :: !(Prelude.Maybe BigInt),
                          _Genesis'drepDeposit :: !(Prelude.Maybe BigInt),
                          _Genesis'drepActivity :: !Data.Word.Word64,
                          _Genesis'minFeeRefScriptCostPerByte :: !(Prelude.Maybe RationalNumber),
                          _Genesis'drepVotingThresholds :: !(Prelude.Maybe DRepVotingThresholds),
                          _Genesis'poolVotingThresholds :: !(Prelude.Maybe PoolVotingThresholds),
                          _Genesis'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis "avvmDistr" (Data.Map.Map Data.Text.Text Data.Text.Text) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'avvmDistr (\ x__ y__ -> x__ {_Genesis'avvmDistr = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "blockVersionData" BlockVersionData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'blockVersionData
           (\ x__ y__ -> x__ {_Genesis'blockVersionData = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'blockVersionData" (Prelude.Maybe BlockVersionData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'blockVersionData
           (\ x__ y__ -> x__ {_Genesis'blockVersionData = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "ftsSeed" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'ftsSeed (\ x__ y__ -> x__ {_Genesis'ftsSeed = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "protocolConsts" ProtocolConsts where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'protocolConsts
           (\ x__ y__ -> x__ {_Genesis'protocolConsts = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'protocolConsts" (Prelude.Maybe ProtocolConsts) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'protocolConsts
           (\ x__ y__ -> x__ {_Genesis'protocolConsts = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "startTime" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'startTime (\ x__ y__ -> x__ {_Genesis'startTime = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "bootStakeholders" (Data.Map.Map Data.Text.Text Data.Word.Word64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'bootStakeholders
           (\ x__ y__ -> x__ {_Genesis'bootStakeholders = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "heavyDelegation" (Data.Map.Map Data.Text.Text HeavyDelegation) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'heavyDelegation
           (\ x__ y__ -> x__ {_Genesis'heavyDelegation = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "nonAvvmBalances" (Data.Map.Map Data.Text.Text Data.Text.Text) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'nonAvvmBalances
           (\ x__ y__ -> x__ {_Genesis'nonAvvmBalances = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "vssCerts" (Data.Map.Map Data.Text.Text VssCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'vssCerts (\ x__ y__ -> x__ {_Genesis'vssCerts = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "activeSlotsCoeff" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'activeSlotsCoeff
           (\ x__ y__ -> x__ {_Genesis'activeSlotsCoeff = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'activeSlotsCoeff" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'activeSlotsCoeff
           (\ x__ y__ -> x__ {_Genesis'activeSlotsCoeff = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "epochLength" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'epochLength
           (\ x__ y__ -> x__ {_Genesis'epochLength = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "genDelegs" (Data.Map.Map Data.Text.Text GenDelegs) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'genDelegs (\ x__ y__ -> x__ {_Genesis'genDelegs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "initialFunds" (Data.Map.Map Data.Text.Text BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'initialFunds
           (\ x__ y__ -> x__ {_Genesis'initialFunds = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "maxKesEvolutions" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxKesEvolutions
           (\ x__ y__ -> x__ {_Genesis'maxKesEvolutions = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "maxLovelaceSupply" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxLovelaceSupply
           (\ x__ y__ -> x__ {_Genesis'maxLovelaceSupply = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'maxLovelaceSupply" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxLovelaceSupply
           (\ x__ y__ -> x__ {_Genesis'maxLovelaceSupply = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "networkId" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'networkId (\ x__ y__ -> x__ {_Genesis'networkId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "networkMagic" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'networkMagic
           (\ x__ y__ -> x__ {_Genesis'networkMagic = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "protocolParams" PParams where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'protocolParams
           (\ x__ y__ -> x__ {_Genesis'protocolParams = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'protocolParams" (Prelude.Maybe PParams) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'protocolParams
           (\ x__ y__ -> x__ {_Genesis'protocolParams = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "securityParam" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'securityParam
           (\ x__ y__ -> x__ {_Genesis'securityParam = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "slotLength" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'slotLength (\ x__ y__ -> x__ {_Genesis'slotLength = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "slotsPerKesPeriod" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'slotsPerKesPeriod
           (\ x__ y__ -> x__ {_Genesis'slotsPerKesPeriod = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "systemStart" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'systemStart
           (\ x__ y__ -> x__ {_Genesis'systemStart = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "updateQuorum" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'updateQuorum
           (\ x__ y__ -> x__ {_Genesis'updateQuorum = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "lovelacePerUtxoWord" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'lovelacePerUtxoWord
           (\ x__ y__ -> x__ {_Genesis'lovelacePerUtxoWord = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'lovelacePerUtxoWord" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'lovelacePerUtxoWord
           (\ x__ y__ -> x__ {_Genesis'lovelacePerUtxoWord = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "executionPrices" ExPrices where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'executionPrices
           (\ x__ y__ -> x__ {_Genesis'executionPrices = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'executionPrices" (Prelude.Maybe ExPrices) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'executionPrices
           (\ x__ y__ -> x__ {_Genesis'executionPrices = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "maxTxExUnits" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxTxExUnits
           (\ x__ y__ -> x__ {_Genesis'maxTxExUnits = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'maxTxExUnits" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxTxExUnits
           (\ x__ y__ -> x__ {_Genesis'maxTxExUnits = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "maxBlockExUnits" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxBlockExUnits
           (\ x__ y__ -> x__ {_Genesis'maxBlockExUnits = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'maxBlockExUnits" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxBlockExUnits
           (\ x__ y__ -> x__ {_Genesis'maxBlockExUnits = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "maxValueSize" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxValueSize
           (\ x__ y__ -> x__ {_Genesis'maxValueSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "collateralPercentage" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'collateralPercentage
           (\ x__ y__ -> x__ {_Genesis'collateralPercentage = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "maxCollateralInputs" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'maxCollateralInputs
           (\ x__ y__ -> x__ {_Genesis'maxCollateralInputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "costModels" CostModelMap where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'costModels (\ x__ y__ -> x__ {_Genesis'costModels = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'costModels" (Prelude.Maybe CostModelMap) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'costModels (\ x__ y__ -> x__ {_Genesis'costModels = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "committee" Committee where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'committee (\ x__ y__ -> x__ {_Genesis'committee = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'committee" (Prelude.Maybe Committee) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'committee (\ x__ y__ -> x__ {_Genesis'committee = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "constitution" Constitution where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'constitution
           (\ x__ y__ -> x__ {_Genesis'constitution = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'constitution" (Prelude.Maybe Constitution) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'constitution
           (\ x__ y__ -> x__ {_Genesis'constitution = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "committeeMinSize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'committeeMinSize
           (\ x__ y__ -> x__ {_Genesis'committeeMinSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "committeeMaxTermLength" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'committeeMaxTermLength
           (\ x__ y__ -> x__ {_Genesis'committeeMaxTermLength = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "govActionLifetime" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'govActionLifetime
           (\ x__ y__ -> x__ {_Genesis'govActionLifetime = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "govActionDeposit" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'govActionDeposit
           (\ x__ y__ -> x__ {_Genesis'govActionDeposit = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'govActionDeposit" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'govActionDeposit
           (\ x__ y__ -> x__ {_Genesis'govActionDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "drepDeposit" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'drepDeposit
           (\ x__ y__ -> x__ {_Genesis'drepDeposit = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'drepDeposit" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'drepDeposit
           (\ x__ y__ -> x__ {_Genesis'drepDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "drepActivity" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'drepActivity
           (\ x__ y__ -> x__ {_Genesis'drepActivity = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "minFeeRefScriptCostPerByte" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'minFeeRefScriptCostPerByte
           (\ x__ y__ -> x__ {_Genesis'minFeeRefScriptCostPerByte = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'minFeeRefScriptCostPerByte" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'minFeeRefScriptCostPerByte
           (\ x__ y__ -> x__ {_Genesis'minFeeRefScriptCostPerByte = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "drepVotingThresholds" DRepVotingThresholds where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'drepVotingThresholds
           (\ x__ y__ -> x__ {_Genesis'drepVotingThresholds = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'drepVotingThresholds" (Prelude.Maybe DRepVotingThresholds) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'drepVotingThresholds
           (\ x__ y__ -> x__ {_Genesis'drepVotingThresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis "poolVotingThresholds" PoolVotingThresholds where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'poolVotingThresholds
           (\ x__ y__ -> x__ {_Genesis'poolVotingThresholds = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis "maybe'poolVotingThresholds" (Prelude.Maybe PoolVotingThresholds) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'poolVotingThresholds
           (\ x__ y__ -> x__ {_Genesis'poolVotingThresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Genesis"
  packedMessageDescriptor _
    = "\n\
      \\aGenesis\DC2M\n\
      \\n\
      \avvm_distr\CAN\SOH \ETX(\v2..utxorpc.v1beta.cardano.Genesis.AvvmDistrEntryR\tavvmDistr\DC2V\n\
      \\DC2block_version_data\CAN\STX \SOH(\v2(.utxorpc.v1beta.cardano.BlockVersionDataR\DLEblockVersionData\DC2\EM\n\
      \\bfts_seed\CAN\ETX \SOH(\tR\aftsSeed\DC2O\n\
      \\SIprotocol_consts\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.ProtocolConstsR\SOprotocolConsts\DC2\GS\n\
      \\n\
      \start_time\CAN\ENQ \SOH(\EOTR\tstartTime\DC2b\n\
      \\DC1boot_stakeholders\CAN\ACK \ETX(\v25.utxorpc.v1beta.cardano.Genesis.BootStakeholdersEntryR\DLEbootStakeholders\DC2_\n\
      \\DLEheavy_delegation\CAN\a \ETX(\v24.utxorpc.v1beta.cardano.Genesis.HeavyDelegationEntryR\SIheavyDelegation\DC2`\n\
      \\DC1non_avvm_balances\CAN\b \ETX(\v24.utxorpc.v1beta.cardano.Genesis.NonAvvmBalancesEntryR\SInonAvvmBalances\DC2J\n\
      \\tvss_certs\CAN\t \ETX(\v2-.utxorpc.v1beta.cardano.Genesis.VssCertsEntryR\bvssCerts\DC2T\n\
      \\DC2active_slots_coeff\CAN\n\
      \ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DLEactiveSlotsCoeff\DC2!\n\
      \\fepoch_length\CAN\v \SOH(\rR\vepochLength\DC2M\n\
      \\n\
      \gen_delegs\CAN\f \ETX(\v2..utxorpc.v1beta.cardano.Genesis.GenDelegsEntryR\tgenDelegs\DC2V\n\
      \\rinitial_funds\CAN\r \ETX(\v21.utxorpc.v1beta.cardano.Genesis.InitialFundsEntryR\finitialFunds\DC2,\n\
      \\DC2max_kes_evolutions\CAN\SO \SOH(\rR\DLEmaxKesEvolutions\DC2N\n\
      \\DC3max_lovelace_supply\CAN\SI \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DC1maxLovelaceSupply\DC2\GS\n\
      \\n\
      \network_id\CAN\DLE \SOH(\tR\tnetworkId\DC2#\n\
      \\rnetwork_magic\CAN\DC1 \SOH(\rR\fnetworkMagic\DC2H\n\
      \\SIprotocol_params\CAN\DC2 \SOH(\v2\US.utxorpc.v1beta.cardano.PParamsR\SOprotocolParams\DC2%\n\
      \\SOsecurity_param\CAN\DC3 \SOH(\rR\rsecurityParam\DC2\US\n\
      \\vslot_length\CAN\DC4 \SOH(\rR\n\
      \slotLength\DC2/\n\
      \\DC4slots_per_kes_period\CAN\NAK \SOH(\rR\DC1slotsPerKesPeriod\DC2!\n\
      \\fsystem_start\CAN\SYN \SOH(\tR\vsystemStart\DC2#\n\
      \\rupdate_quorum\CAN\ETB \SOH(\rR\fupdateQuorum\DC2S\n\
      \\SYNlovelace_per_utxo_word\CAN\CAN \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DC3lovelacePerUtxoWord\DC2K\n\
      \\DLEexecution_prices\CAN\EM \SOH(\v2 .utxorpc.v1beta.cardano.ExPricesR\SIexecutionPrices\DC2F\n\
      \\SImax_tx_ex_units\CAN\SUB \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\fmaxTxExUnits\DC2L\n\
      \\DC2max_block_ex_units\CAN\ESC \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\SImaxBlockExUnits\DC2$\n\
      \\SOmax_value_size\CAN\FS \SOH(\rR\fmaxValueSize\DC23\n\
      \\NAKcollateral_percentage\CAN\GS \SOH(\rR\DC4collateralPercentage\DC22\n\
      \\NAKmax_collateral_inputs\CAN\RS \SOH(\rR\DC3maxCollateralInputs\DC2E\n\
      \\vcost_models\CAN\US \SOH(\v2$.utxorpc.v1beta.cardano.CostModelMapR\n\
      \costModels\DC2?\n\
      \\tcommittee\CAN  \SOH(\v2!.utxorpc.v1beta.cardano.CommitteeR\tcommittee\DC2H\n\
      \\fconstitution\CAN! \SOH(\v2$.utxorpc.v1beta.cardano.ConstitutionR\fconstitution\DC2,\n\
      \\DC2committee_min_size\CAN\" \SOH(\EOTR\DLEcommitteeMinSize\DC29\n\
      \\EMcommittee_max_term_length\CAN# \SOH(\EOTR\SYNcommitteeMaxTermLength\DC2.\n\
      \\DC3gov_action_lifetime\CAN$ \SOH(\EOTR\DC1govActionLifetime\DC2L\n\
      \\DC2gov_action_deposit\CAN% \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DLEgovActionDeposit\DC2A\n\
      \\fdrep_deposit\CAN& \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vdrepDeposit\DC2#\n\
      \\rdrep_activity\CAN' \SOH(\EOTR\fdrepActivity\DC2l\n\
      \ min_fee_ref_script_cost_per_byte\CAN( \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SUBminFeeRefScriptCostPerByte\DC2b\n\
      \\SYNdrep_voting_thresholds\CAN) \SOH(\v2,.utxorpc.v1beta.cardano.DRepVotingThresholdsR\DC4drepVotingThresholds\DC2b\n\
      \\SYNpool_voting_thresholds\CAN* \SOH(\v2,.utxorpc.v1beta.cardano.PoolVotingThresholdsR\DC4poolVotingThresholds\SUB<\n\
      \\SOAvvmDistrEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH\SUBC\n\
      \\NAKBootStakeholdersEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\EOTR\ENQvalue:\STX8\SOH\SUBk\n\
      \\DC4HeavyDelegationEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2=\n\
      \\ENQvalue\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.HeavyDelegationR\ENQvalue:\STX8\SOH\SUBB\n\
      \\DC4NonAvvmBalancesEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH\SUB\\\n\
      \\rVssCertsEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC25\n\
      \\ENQvalue\CAN\STX \SOH(\v2\US.utxorpc.v1beta.cardano.VssCertR\ENQvalue:\STX8\SOH\SUB_\n\
      \\SOGenDelegsEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC27\n\
      \\ENQvalue\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.GenDelegsR\ENQvalue:\STX8\SOH\SUB_\n\
      \\DC1InitialFundsEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC24\n\
      \\ENQvalue\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        avvmDistr__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "avvm_distr"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Genesis'AvvmDistrEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"avvmDistr")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        blockVersionData__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "block_version_data"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BlockVersionData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'blockVersionData")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        ftsSeed__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "fts_seed"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"ftsSeed")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        protocolConsts__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_consts"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ProtocolConsts)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolConsts")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        startTime__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "start_time"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"startTime")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        bootStakeholders__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "boot_stakeholders"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Genesis'BootStakeholdersEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"bootStakeholders")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        heavyDelegation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "heavy_delegation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Genesis'HeavyDelegationEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"heavyDelegation")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        nonAvvmBalances__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "non_avvm_balances"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Genesis'NonAvvmBalancesEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"nonAvvmBalances")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        vssCerts__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vss_certs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Genesis'VssCertsEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"vssCerts")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        activeSlotsCoeff__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "active_slots_coeff"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'activeSlotsCoeff")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        epochLength__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "epoch_length"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"epochLength")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        genDelegs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gen_delegs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Genesis'GenDelegsEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"genDelegs")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        initialFunds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "initial_funds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Genesis'InitialFundsEntry)
              (Data.ProtoLens.MapField
                 (Data.ProtoLens.Field.field @"key")
                 (Data.ProtoLens.Field.field @"value")
                 (Data.ProtoLens.Field.field @"initialFunds")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        maxKesEvolutions__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_kes_evolutions"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxKesEvolutions")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        maxLovelaceSupply__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_lovelace_supply"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'maxLovelaceSupply")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        networkId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "network_id"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"networkId")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        networkMagic__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "network_magic"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"networkMagic")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        protocolParams__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_params"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PParams)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolParams")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        securityParam__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "security_param"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"securityParam")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        slotLength__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "slot_length"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"slotLength")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        slotsPerKesPeriod__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "slots_per_kes_period"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"slotsPerKesPeriod")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        systemStart__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "system_start"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"systemStart")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        updateQuorum__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_quorum"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"updateQuorum")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        lovelacePerUtxoWord__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "lovelace_per_utxo_word"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'lovelacePerUtxoWord")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        executionPrices__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "execution_prices"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExPrices)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'executionPrices")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        maxTxExUnits__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_tx_ex_units"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'maxTxExUnits")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        maxBlockExUnits__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_block_ex_units"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'maxBlockExUnits")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        maxValueSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_value_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxValueSize")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        collateralPercentage__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral_percentage"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"collateralPercentage")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        maxCollateralInputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_collateral_inputs"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxCollateralInputs")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        costModels__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "cost_models"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModelMap)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'costModels")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        committee__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Committee)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committee")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        constitution__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "constitution"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Constitution)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'constitution")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        committeeMinSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_min_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"committeeMinSize")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        committeeMaxTermLength__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_max_term_length"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"committeeMaxTermLength")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        govActionLifetime__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_lifetime"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"govActionLifetime")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        govActionDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_deposit"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionDeposit")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        drepDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_deposit"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepDeposit")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        drepActivity__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_activity"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"drepActivity")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        minFeeRefScriptCostPerByte__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_fee_ref_script_cost_per_byte"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field
                    @"maybe'minFeeRefScriptCostPerByte")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        drepVotingThresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_voting_thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRepVotingThresholds)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepVotingThresholds")) ::
              Data.ProtoLens.FieldDescriptor Genesis
        poolVotingThresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_voting_thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolVotingThresholds)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolVotingThresholds")) ::
              Data.ProtoLens.FieldDescriptor Genesis
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, avvmDistr__field_descriptor),
           (Data.ProtoLens.Tag 2, blockVersionData__field_descriptor),
           (Data.ProtoLens.Tag 3, ftsSeed__field_descriptor),
           (Data.ProtoLens.Tag 4, protocolConsts__field_descriptor),
           (Data.ProtoLens.Tag 5, startTime__field_descriptor),
           (Data.ProtoLens.Tag 6, bootStakeholders__field_descriptor),
           (Data.ProtoLens.Tag 7, heavyDelegation__field_descriptor),
           (Data.ProtoLens.Tag 8, nonAvvmBalances__field_descriptor),
           (Data.ProtoLens.Tag 9, vssCerts__field_descriptor),
           (Data.ProtoLens.Tag 10, activeSlotsCoeff__field_descriptor),
           (Data.ProtoLens.Tag 11, epochLength__field_descriptor),
           (Data.ProtoLens.Tag 12, genDelegs__field_descriptor),
           (Data.ProtoLens.Tag 13, initialFunds__field_descriptor),
           (Data.ProtoLens.Tag 14, maxKesEvolutions__field_descriptor),
           (Data.ProtoLens.Tag 15, maxLovelaceSupply__field_descriptor),
           (Data.ProtoLens.Tag 16, networkId__field_descriptor),
           (Data.ProtoLens.Tag 17, networkMagic__field_descriptor),
           (Data.ProtoLens.Tag 18, protocolParams__field_descriptor),
           (Data.ProtoLens.Tag 19, securityParam__field_descriptor),
           (Data.ProtoLens.Tag 20, slotLength__field_descriptor),
           (Data.ProtoLens.Tag 21, slotsPerKesPeriod__field_descriptor),
           (Data.ProtoLens.Tag 22, systemStart__field_descriptor),
           (Data.ProtoLens.Tag 23, updateQuorum__field_descriptor),
           (Data.ProtoLens.Tag 24, lovelacePerUtxoWord__field_descriptor),
           (Data.ProtoLens.Tag 25, executionPrices__field_descriptor),
           (Data.ProtoLens.Tag 26, maxTxExUnits__field_descriptor),
           (Data.ProtoLens.Tag 27, maxBlockExUnits__field_descriptor),
           (Data.ProtoLens.Tag 28, maxValueSize__field_descriptor),
           (Data.ProtoLens.Tag 29, collateralPercentage__field_descriptor),
           (Data.ProtoLens.Tag 30, maxCollateralInputs__field_descriptor),
           (Data.ProtoLens.Tag 31, costModels__field_descriptor),
           (Data.ProtoLens.Tag 32, committee__field_descriptor),
           (Data.ProtoLens.Tag 33, constitution__field_descriptor),
           (Data.ProtoLens.Tag 34, committeeMinSize__field_descriptor),
           (Data.ProtoLens.Tag 35, committeeMaxTermLength__field_descriptor),
           (Data.ProtoLens.Tag 36, govActionLifetime__field_descriptor),
           (Data.ProtoLens.Tag 37, govActionDeposit__field_descriptor),
           (Data.ProtoLens.Tag 38, drepDeposit__field_descriptor),
           (Data.ProtoLens.Tag 39, drepActivity__field_descriptor),
           (Data.ProtoLens.Tag 40, 
            minFeeRefScriptCostPerByte__field_descriptor),
           (Data.ProtoLens.Tag 41, drepVotingThresholds__field_descriptor),
           (Data.ProtoLens.Tag 42, poolVotingThresholds__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'_unknownFields
        (\ x__ y__ -> x__ {_Genesis'_unknownFields = y__})
  defMessage
    = Genesis'_constructor
        {_Genesis'avvmDistr = Data.Map.empty,
         _Genesis'blockVersionData = Prelude.Nothing,
         _Genesis'ftsSeed = Data.ProtoLens.fieldDefault,
         _Genesis'protocolConsts = Prelude.Nothing,
         _Genesis'startTime = Data.ProtoLens.fieldDefault,
         _Genesis'bootStakeholders = Data.Map.empty,
         _Genesis'heavyDelegation = Data.Map.empty,
         _Genesis'nonAvvmBalances = Data.Map.empty,
         _Genesis'vssCerts = Data.Map.empty,
         _Genesis'activeSlotsCoeff = Prelude.Nothing,
         _Genesis'epochLength = Data.ProtoLens.fieldDefault,
         _Genesis'genDelegs = Data.Map.empty,
         _Genesis'initialFunds = Data.Map.empty,
         _Genesis'maxKesEvolutions = Data.ProtoLens.fieldDefault,
         _Genesis'maxLovelaceSupply = Prelude.Nothing,
         _Genesis'networkId = Data.ProtoLens.fieldDefault,
         _Genesis'networkMagic = Data.ProtoLens.fieldDefault,
         _Genesis'protocolParams = Prelude.Nothing,
         _Genesis'securityParam = Data.ProtoLens.fieldDefault,
         _Genesis'slotLength = Data.ProtoLens.fieldDefault,
         _Genesis'slotsPerKesPeriod = Data.ProtoLens.fieldDefault,
         _Genesis'systemStart = Data.ProtoLens.fieldDefault,
         _Genesis'updateQuorum = Data.ProtoLens.fieldDefault,
         _Genesis'lovelacePerUtxoWord = Prelude.Nothing,
         _Genesis'executionPrices = Prelude.Nothing,
         _Genesis'maxTxExUnits = Prelude.Nothing,
         _Genesis'maxBlockExUnits = Prelude.Nothing,
         _Genesis'maxValueSize = Data.ProtoLens.fieldDefault,
         _Genesis'collateralPercentage = Data.ProtoLens.fieldDefault,
         _Genesis'maxCollateralInputs = Data.ProtoLens.fieldDefault,
         _Genesis'costModels = Prelude.Nothing,
         _Genesis'committee = Prelude.Nothing,
         _Genesis'constitution = Prelude.Nothing,
         _Genesis'committeeMinSize = Data.ProtoLens.fieldDefault,
         _Genesis'committeeMaxTermLength = Data.ProtoLens.fieldDefault,
         _Genesis'govActionLifetime = Data.ProtoLens.fieldDefault,
         _Genesis'govActionDeposit = Prelude.Nothing,
         _Genesis'drepDeposit = Prelude.Nothing,
         _Genesis'drepActivity = Data.ProtoLens.fieldDefault,
         _Genesis'minFeeRefScriptCostPerByte = Prelude.Nothing,
         _Genesis'drepVotingThresholds = Prelude.Nothing,
         _Genesis'poolVotingThresholds = Prelude.Nothing,
         _Genesis'_unknownFields = []}
  parseMessage
    = let
        loop :: Genesis -> Data.ProtoLens.Encoding.Bytes.Parser Genesis
        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
                        10
                          -> do !(entry :: Genesis'AvvmDistrEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                            Data.ProtoLens.Encoding.Bytes.isolate
                                                                              (Prelude.fromIntegral
                                                                                 len)
                                                                              Data.ProtoLens.parseMessage)
                                                                        "avvm_distr"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"avvmDistr")
                                        (\ !t -> Data.Map.insert key value t) x))
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "block_version_data"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"blockVersionData") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "fts_seed"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"ftsSeed") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_consts"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolConsts") y x)
                        40
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "start_time"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"startTime") y x)
                        50
                          -> do !(entry :: Genesis'BootStakeholdersEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                               (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                                   Data.ProtoLens.Encoding.Bytes.isolate
                                                                                     (Prelude.fromIntegral
                                                                                        len)
                                                                                     Data.ProtoLens.parseMessage)
                                                                               "boot_stakeholders"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"bootStakeholders")
                                        (\ !t -> Data.Map.insert key value t) x))
                        58
                          -> do !(entry :: Genesis'HeavyDelegationEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                              (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                                  Data.ProtoLens.Encoding.Bytes.isolate
                                                                                    (Prelude.fromIntegral
                                                                                       len)
                                                                                    Data.ProtoLens.parseMessage)
                                                                              "heavy_delegation"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"heavyDelegation")
                                        (\ !t -> Data.Map.insert key value t) x))
                        66
                          -> do !(entry :: Genesis'NonAvvmBalancesEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                              (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                                  Data.ProtoLens.Encoding.Bytes.isolate
                                                                                    (Prelude.fromIntegral
                                                                                       len)
                                                                                    Data.ProtoLens.parseMessage)
                                                                              "non_avvm_balances"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"nonAvvmBalances")
                                        (\ !t -> Data.Map.insert key value t) x))
                        74
                          -> do !(entry :: Genesis'VssCertsEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                           Data.ProtoLens.Encoding.Bytes.isolate
                                                                             (Prelude.fromIntegral
                                                                                len)
                                                                             Data.ProtoLens.parseMessage)
                                                                       "vss_certs"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"vssCerts")
                                        (\ !t -> Data.Map.insert key value t) x))
                        82
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "active_slots_coeff"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"activeSlotsCoeff") y x)
                        88
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "epoch_length"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"epochLength") y x)
                        98
                          -> do !(entry :: Genesis'GenDelegsEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                            Data.ProtoLens.Encoding.Bytes.isolate
                                                                              (Prelude.fromIntegral
                                                                                 len)
                                                                              Data.ProtoLens.parseMessage)
                                                                        "gen_delegs"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"genDelegs")
                                        (\ !t -> Data.Map.insert key value t) x))
                        106
                          -> do !(entry :: Genesis'InitialFundsEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                           (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                                                               Data.ProtoLens.Encoding.Bytes.isolate
                                                                                 (Prelude.fromIntegral
                                                                                    len)
                                                                                 Data.ProtoLens.parseMessage)
                                                                           "initial_funds"
                                (let
                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
                                   value
                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
                                 in
                                   loop
                                     (Lens.Family2.over
                                        (Data.ProtoLens.Field.field @"initialFunds")
                                        (\ !t -> Data.Map.insert key value t) x))
                        112
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "max_kes_evolutions"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxKesEvolutions") y x)
                        122
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "max_lovelace_supply"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxLovelaceSupply") y x)
                        130
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "network_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"networkId") y x)
                        136
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "network_magic"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"networkMagic") y x)
                        146
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_params"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolParams") y x)
                        152
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "security_param"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"securityParam") y x)
                        160
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "slot_length"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"slotLength") y x)
                        168
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "slots_per_kes_period"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"slotsPerKesPeriod") y x)
                        178
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "system_start"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"systemStart") y x)
                        184
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "update_quorum"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateQuorum") y x)
                        194
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "lovelace_per_utxo_word"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"lovelacePerUtxoWord") y x)
                        202
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "execution_prices"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"executionPrices") y x)
                        210
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "max_tx_ex_units"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxTxExUnits") y x)
                        218
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "max_block_ex_units"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxBlockExUnits") y x)
                        224
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "max_value_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxValueSize") y x)
                        232
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "collateral_percentage"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"collateralPercentage") y x)
                        240
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "max_collateral_inputs"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxCollateralInputs") y x)
                        250
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "cost_models"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"costModels") y x)
                        258
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"committee") y x)
                        266
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "constitution"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"constitution") y x)
                        272
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "committee_min_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeMinSize") y x)
                        280
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "committee_max_term_length"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeMaxTermLength") y x)
                        288
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "gov_action_lifetime"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"govActionLifetime") y x)
                        298
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_deposit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"govActionDeposit") y x)
                        306
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_deposit"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"drepDeposit") y x)
                        312
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "drep_activity"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepActivity") y x)
                        322
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "min_fee_ref_script_cost_per_byte"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minFeeRefScriptCostPerByte") y x)
                        330
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_voting_thresholds"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepVotingThresholds") y x)
                        338
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_voting_thresholds"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolVotingThresholds") y x)
                        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) "Genesis"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.Monoid.mconcat
                (Prelude.map
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"key") (Prelude.fst _v)
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"value") (Prelude.snd _v)
                                    (Data.ProtoLens.defMessage :: Genesis'AvvmDistrEntry)))))
                   (Data.Map.toList
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"avvmDistr") _x))))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'blockVersionData") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"ftsSeed") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((Prelude..)
                               (\ bs
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               Data.Text.Encoding.encodeUtf8 _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'protocolConsts") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (let
                            _v = Lens.Family2.view (Data.ProtoLens.Field.field @"startTime") _x
                          in
                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                Data.Monoid.mempty
                            else
                                (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                         ((Data.Monoid.<>)
                            (Data.Monoid.mconcat
                               (Prelude.map
                                  (\ _v
                                     -> (Data.Monoid.<>)
                                          (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                          ((Prelude..)
                                             (\ bs
                                                -> (Data.Monoid.<>)
                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                        (Prelude.fromIntegral
                                                           (Data.ByteString.length bs)))
                                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                             Data.ProtoLens.encodeMessage
                                             (Lens.Family2.set
                                                (Data.ProtoLens.Field.field @"key") (Prelude.fst _v)
                                                (Lens.Family2.set
                                                   (Data.ProtoLens.Field.field @"value")
                                                   (Prelude.snd _v)
                                                   (Data.ProtoLens.defMessage ::
                                                      Genesis'BootStakeholdersEntry)))))
                                  (Data.Map.toList
                                     (Lens.Family2.view
                                        (Data.ProtoLens.Field.field @"bootStakeholders") _x))))
                            ((Data.Monoid.<>)
                               (Data.Monoid.mconcat
                                  (Prelude.map
                                     (\ _v
                                        -> (Data.Monoid.<>)
                                             (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                             ((Prelude..)
                                                (\ bs
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                           (Prelude.fromIntegral
                                                              (Data.ByteString.length bs)))
                                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                                Data.ProtoLens.encodeMessage
                                                (Lens.Family2.set
                                                   (Data.ProtoLens.Field.field @"key")
                                                   (Prelude.fst _v)
                                                   (Lens.Family2.set
                                                      (Data.ProtoLens.Field.field @"value")
                                                      (Prelude.snd _v)
                                                      (Data.ProtoLens.defMessage ::
                                                         Genesis'HeavyDelegationEntry)))))
                                     (Data.Map.toList
                                        (Lens.Family2.view
                                           (Data.ProtoLens.Field.field @"heavyDelegation") _x))))
                               ((Data.Monoid.<>)
                                  (Data.Monoid.mconcat
                                     (Prelude.map
                                        (\ _v
                                           -> (Data.Monoid.<>)
                                                (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                                ((Prelude..)
                                                   (\ bs
                                                      -> (Data.Monoid.<>)
                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                              (Prelude.fromIntegral
                                                                 (Data.ByteString.length bs)))
                                                           (Data.ProtoLens.Encoding.Bytes.putBytes
                                                              bs))
                                                   Data.ProtoLens.encodeMessage
                                                   (Lens.Family2.set
                                                      (Data.ProtoLens.Field.field @"key")
                                                      (Prelude.fst _v)
                                                      (Lens.Family2.set
                                                         (Data.ProtoLens.Field.field @"value")
                                                         (Prelude.snd _v)
                                                         (Data.ProtoLens.defMessage ::
                                                            Genesis'NonAvvmBalancesEntry)))))
                                        (Data.Map.toList
                                           (Lens.Family2.view
                                              (Data.ProtoLens.Field.field @"nonAvvmBalances") _x))))
                                  ((Data.Monoid.<>)
                                     (Data.Monoid.mconcat
                                        (Prelude.map
                                           (\ _v
                                              -> (Data.Monoid.<>)
                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                                                   ((Prelude..)
                                                      (\ bs
                                                         -> (Data.Monoid.<>)
                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                 (Prelude.fromIntegral
                                                                    (Data.ByteString.length bs)))
                                                              (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                 bs))
                                                      Data.ProtoLens.encodeMessage
                                                      (Lens.Family2.set
                                                         (Data.ProtoLens.Field.field @"key")
                                                         (Prelude.fst _v)
                                                         (Lens.Family2.set
                                                            (Data.ProtoLens.Field.field @"value")
                                                            (Prelude.snd _v)
                                                            (Data.ProtoLens.defMessage ::
                                                               Genesis'VssCertsEntry)))))
                                           (Data.Map.toList
                                              (Lens.Family2.view
                                                 (Data.ProtoLens.Field.field @"vssCerts") _x))))
                                     ((Data.Monoid.<>)
                                        (case
                                             Lens.Family2.view
                                               (Data.ProtoLens.Field.field
                                                  @"maybe'activeSlotsCoeff")
                                               _x
                                         of
                                           Prelude.Nothing -> Data.Monoid.mempty
                                           (Prelude.Just _v)
                                             -> (Data.Monoid.<>)
                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
                                                  ((Prelude..)
                                                     (\ bs
                                                        -> (Data.Monoid.<>)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                (Prelude.fromIntegral
                                                                   (Data.ByteString.length bs)))
                                                             (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                bs))
                                                     Data.ProtoLens.encodeMessage _v))
                                        ((Data.Monoid.<>)
                                           (let
                                              _v
                                                = Lens.Family2.view
                                                    (Data.ProtoLens.Field.field @"epochLength") _x
                                            in
                                              if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                                  Data.Monoid.mempty
                                              else
                                                  (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 88)
                                                    ((Prelude..)
                                                       Data.ProtoLens.Encoding.Bytes.putVarInt
                                                       Prelude.fromIntegral _v))
                                           ((Data.Monoid.<>)
                                              (Data.Monoid.mconcat
                                                 (Prelude.map
                                                    (\ _v
                                                       -> (Data.Monoid.<>)
                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                               98)
                                                            ((Prelude..)
                                                               (\ bs
                                                                  -> (Data.Monoid.<>)
                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                          (Prelude.fromIntegral
                                                                             (Data.ByteString.length
                                                                                bs)))
                                                                       (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                          bs))
                                                               Data.ProtoLens.encodeMessage
                                                               (Lens.Family2.set
                                                                  (Data.ProtoLens.Field.field
                                                                     @"key")
                                                                  (Prelude.fst _v)
                                                                  (Lens.Family2.set
                                                                     (Data.ProtoLens.Field.field
                                                                        @"value")
                                                                     (Prelude.snd _v)
                                                                     (Data.ProtoLens.defMessage ::
                                                                        Genesis'GenDelegsEntry)))))
                                                    (Data.Map.toList
                                                       (Lens.Family2.view
                                                          (Data.ProtoLens.Field.field @"genDelegs")
                                                          _x))))
                                              ((Data.Monoid.<>)
                                                 (Data.Monoid.mconcat
                                                    (Prelude.map
                                                       (\ _v
                                                          -> (Data.Monoid.<>)
                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                  106)
                                                               ((Prelude..)
                                                                  (\ bs
                                                                     -> (Data.Monoid.<>)
                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                             (Prelude.fromIntegral
                                                                                (Data.ByteString.length
                                                                                   bs)))
                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                             bs))
                                                                  Data.ProtoLens.encodeMessage
                                                                  (Lens.Family2.set
                                                                     (Data.ProtoLens.Field.field
                                                                        @"key")
                                                                     (Prelude.fst _v)
                                                                     (Lens.Family2.set
                                                                        (Data.ProtoLens.Field.field
                                                                           @"value")
                                                                        (Prelude.snd _v)
                                                                        (Data.ProtoLens.defMessage ::
                                                                           Genesis'InitialFundsEntry)))))
                                                       (Data.Map.toList
                                                          (Lens.Family2.view
                                                             (Data.ProtoLens.Field.field
                                                                @"initialFunds")
                                                             _x))))
                                                 ((Data.Monoid.<>)
                                                    (let
                                                       _v
                                                         = Lens.Family2.view
                                                             (Data.ProtoLens.Field.field
                                                                @"maxKesEvolutions")
                                                             _x
                                                     in
                                                       if (Prelude.==)
                                                            _v Data.ProtoLens.fieldDefault then
                                                           Data.Monoid.mempty
                                                       else
                                                           (Data.Monoid.<>)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                112)
                                                             ((Prelude..)
                                                                Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                Prelude.fromIntegral _v))
                                                    ((Data.Monoid.<>)
                                                       (case
                                                            Lens.Family2.view
                                                              (Data.ProtoLens.Field.field
                                                                 @"maybe'maxLovelaceSupply")
                                                              _x
                                                        of
                                                          Prelude.Nothing -> Data.Monoid.mempty
                                                          (Prelude.Just _v)
                                                            -> (Data.Monoid.<>)
                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                    122)
                                                                 ((Prelude..)
                                                                    (\ bs
                                                                       -> (Data.Monoid.<>)
                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                               (Prelude.fromIntegral
                                                                                  (Data.ByteString.length
                                                                                     bs)))
                                                                            (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                               bs))
                                                                    Data.ProtoLens.encodeMessage
                                                                    _v))
                                                       ((Data.Monoid.<>)
                                                          (let
                                                             _v
                                                               = Lens.Family2.view
                                                                   (Data.ProtoLens.Field.field
                                                                      @"networkId")
                                                                   _x
                                                           in
                                                             if (Prelude.==)
                                                                  _v
                                                                  Data.ProtoLens.fieldDefault then
                                                                 Data.Monoid.mempty
                                                             else
                                                                 (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      130)
                                                                   ((Prelude..)
                                                                      (\ bs
                                                                         -> (Data.Monoid.<>)
                                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                 (Prelude.fromIntegral
                                                                                    (Data.ByteString.length
                                                                                       bs)))
                                                                              (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                 bs))
                                                                      Data.Text.Encoding.encodeUtf8
                                                                      _v))
                                                          ((Data.Monoid.<>)
                                                             (let
                                                                _v
                                                                  = Lens.Family2.view
                                                                      (Data.ProtoLens.Field.field
                                                                         @"networkMagic")
                                                                      _x
                                                              in
                                                                if (Prelude.==)
                                                                     _v
                                                                     Data.ProtoLens.fieldDefault then
                                                                    Data.Monoid.mempty
                                                                else
                                                                    (Data.Monoid.<>)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         136)
                                                                      ((Prelude..)
                                                                         Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         Prelude.fromIntegral _v))
                                                             ((Data.Monoid.<>)
                                                                (case
                                                                     Lens.Family2.view
                                                                       (Data.ProtoLens.Field.field
                                                                          @"maybe'protocolParams")
                                                                       _x
                                                                 of
                                                                   Prelude.Nothing
                                                                     -> Data.Monoid.mempty
                                                                   (Prelude.Just _v)
                                                                     -> (Data.Monoid.<>)
                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                             146)
                                                                          ((Prelude..)
                                                                             (\ bs
                                                                                -> (Data.Monoid.<>)
                                                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                        (Prelude.fromIntegral
                                                                                           (Data.ByteString.length
                                                                                              bs)))
                                                                                     (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                        bs))
                                                                             Data.ProtoLens.encodeMessage
                                                                             _v))
                                                                ((Data.Monoid.<>)
                                                                   (let
                                                                      _v
                                                                        = Lens.Family2.view
                                                                            (Data.ProtoLens.Field.field
                                                                               @"securityParam")
                                                                            _x
                                                                    in
                                                                      if (Prelude.==)
                                                                           _v
                                                                           Data.ProtoLens.fieldDefault then
                                                                          Data.Monoid.mempty
                                                                      else
                                                                          (Data.Monoid.<>)
                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                               152)
                                                                            ((Prelude..)
                                                                               Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                               Prelude.fromIntegral
                                                                               _v))
                                                                   ((Data.Monoid.<>)
                                                                      (let
                                                                         _v
                                                                           = Lens.Family2.view
                                                                               (Data.ProtoLens.Field.field
                                                                                  @"slotLength")
                                                                               _x
                                                                       in
                                                                         if (Prelude.==)
                                                                              _v
                                                                              Data.ProtoLens.fieldDefault then
                                                                             Data.Monoid.mempty
                                                                         else
                                                                             (Data.Monoid.<>)
                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                  160)
                                                                               ((Prelude..)
                                                                                  Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                  Prelude.fromIntegral
                                                                                  _v))
                                                                      ((Data.Monoid.<>)
                                                                         (let
                                                                            _v
                                                                              = Lens.Family2.view
                                                                                  (Data.ProtoLens.Field.field
                                                                                     @"slotsPerKesPeriod")
                                                                                  _x
                                                                          in
                                                                            if (Prelude.==)
                                                                                 _v
                                                                                 Data.ProtoLens.fieldDefault then
                                                                                Data.Monoid.mempty
                                                                            else
                                                                                (Data.Monoid.<>)
                                                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                     168)
                                                                                  ((Prelude..)
                                                                                     Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                     Prelude.fromIntegral
                                                                                     _v))
                                                                         ((Data.Monoid.<>)
                                                                            (let
                                                                               _v
                                                                                 = Lens.Family2.view
                                                                                     (Data.ProtoLens.Field.field
                                                                                        @"systemStart")
                                                                                     _x
                                                                             in
                                                                               if (Prelude.==)
                                                                                    _v
                                                                                    Data.ProtoLens.fieldDefault then
                                                                                   Data.Monoid.mempty
                                                                               else
                                                                                   (Data.Monoid.<>)
                                                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                        178)
                                                                                     ((Prelude..)
                                                                                        (\ bs
                                                                                           -> (Data.Monoid.<>)
                                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                   (Prelude.fromIntegral
                                                                                                      (Data.ByteString.length
                                                                                                         bs)))
                                                                                                (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                   bs))
                                                                                        Data.Text.Encoding.encodeUtf8
                                                                                        _v))
                                                                            ((Data.Monoid.<>)
                                                                               (let
                                                                                  _v
                                                                                    = Lens.Family2.view
                                                                                        (Data.ProtoLens.Field.field
                                                                                           @"updateQuorum")
                                                                                        _x
                                                                                in
                                                                                  if (Prelude.==)
                                                                                       _v
                                                                                       Data.ProtoLens.fieldDefault then
                                                                                      Data.Monoid.mempty
                                                                                  else
                                                                                      (Data.Monoid.<>)
                                                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                           184)
                                                                                        ((Prelude..)
                                                                                           Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                           Prelude.fromIntegral
                                                                                           _v))
                                                                               ((Data.Monoid.<>)
                                                                                  (case
                                                                                       Lens.Family2.view
                                                                                         (Data.ProtoLens.Field.field
                                                                                            @"maybe'lovelacePerUtxoWord")
                                                                                         _x
                                                                                   of
                                                                                     Prelude.Nothing
                                                                                       -> Data.Monoid.mempty
                                                                                     (Prelude.Just _v)
                                                                                       -> (Data.Monoid.<>)
                                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                               194)
                                                                                            ((Prelude..)
                                                                                               (\ bs
                                                                                                  -> (Data.Monoid.<>)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          (Prelude.fromIntegral
                                                                                                             (Data.ByteString.length
                                                                                                                bs)))
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                          bs))
                                                                                               Data.ProtoLens.encodeMessage
                                                                                               _v))
                                                                                  ((Data.Monoid.<>)
                                                                                     (case
                                                                                          Lens.Family2.view
                                                                                            (Data.ProtoLens.Field.field
                                                                                               @"maybe'executionPrices")
                                                                                            _x
                                                                                      of
                                                                                        Prelude.Nothing
                                                                                          -> Data.Monoid.mempty
                                                                                        (Prelude.Just _v)
                                                                                          -> (Data.Monoid.<>)
                                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                  202)
                                                                                               ((Prelude..)
                                                                                                  (\ bs
                                                                                                     -> (Data.Monoid.<>)
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                             (Prelude.fromIntegral
                                                                                                                (Data.ByteString.length
                                                                                                                   bs)))
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                             bs))
                                                                                                  Data.ProtoLens.encodeMessage
                                                                                                  _v))
                                                                                     ((Data.Monoid.<>)
                                                                                        (case
                                                                                             Lens.Family2.view
                                                                                               (Data.ProtoLens.Field.field
                                                                                                  @"maybe'maxTxExUnits")
                                                                                               _x
                                                                                         of
                                                                                           Prelude.Nothing
                                                                                             -> Data.Monoid.mempty
                                                                                           (Prelude.Just _v)
                                                                                             -> (Data.Monoid.<>)
                                                                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                     210)
                                                                                                  ((Prelude..)
                                                                                                     (\ bs
                                                                                                        -> (Data.Monoid.<>)
                                                                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                (Prelude.fromIntegral
                                                                                                                   (Data.ByteString.length
                                                                                                                      bs)))
                                                                                                             (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                bs))
                                                                                                     Data.ProtoLens.encodeMessage
                                                                                                     _v))
                                                                                        ((Data.Monoid.<>)
                                                                                           (case
                                                                                                Lens.Family2.view
                                                                                                  (Data.ProtoLens.Field.field
                                                                                                     @"maybe'maxBlockExUnits")
                                                                                                  _x
                                                                                            of
                                                                                              Prelude.Nothing
                                                                                                -> Data.Monoid.mempty
                                                                                              (Prelude.Just _v)
                                                                                                -> (Data.Monoid.<>)
                                                                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                        218)
                                                                                                     ((Prelude..)
                                                                                                        (\ bs
                                                                                                           -> (Data.Monoid.<>)
                                                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                   (Prelude.fromIntegral
                                                                                                                      (Data.ByteString.length
                                                                                                                         bs)))
                                                                                                                (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                   bs))
                                                                                                        Data.ProtoLens.encodeMessage
                                                                                                        _v))
                                                                                           ((Data.Monoid.<>)
                                                                                              (let
                                                                                                 _v
                                                                                                   = Lens.Family2.view
                                                                                                       (Data.ProtoLens.Field.field
                                                                                                          @"maxValueSize")
                                                                                                       _x
                                                                                               in
                                                                                                 if (Prelude.==)
                                                                                                      _v
                                                                                                      Data.ProtoLens.fieldDefault then
                                                                                                     Data.Monoid.mempty
                                                                                                 else
                                                                                                     (Data.Monoid.<>)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          224)
                                                                                                       ((Prelude..)
                                                                                                          Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          Prelude.fromIntegral
                                                                                                          _v))
                                                                                              ((Data.Monoid.<>)
                                                                                                 (let
                                                                                                    _v
                                                                                                      = Lens.Family2.view
                                                                                                          (Data.ProtoLens.Field.field
                                                                                                             @"collateralPercentage")
                                                                                                          _x
                                                                                                  in
                                                                                                    if (Prelude.==)
                                                                                                         _v
                                                                                                         Data.ProtoLens.fieldDefault then
                                                                                                        Data.Monoid.mempty
                                                                                                    else
                                                                                                        (Data.Monoid.<>)
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                             232)
                                                                                                          ((Prelude..)
                                                                                                             Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                             Prelude.fromIntegral
                                                                                                             _v))
                                                                                                 ((Data.Monoid.<>)
                                                                                                    (let
                                                                                                       _v
                                                                                                         = Lens.Family2.view
                                                                                                             (Data.ProtoLens.Field.field
                                                                                                                @"maxCollateralInputs")
                                                                                                             _x
                                                                                                     in
                                                                                                       if (Prelude.==)
                                                                                                            _v
                                                                                                            Data.ProtoLens.fieldDefault then
                                                                                                           Data.Monoid.mempty
                                                                                                       else
                                                                                                           (Data.Monoid.<>)
                                                                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                240)
                                                                                                             ((Prelude..)
                                                                                                                Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                Prelude.fromIntegral
                                                                                                                _v))
                                                                                                    ((Data.Monoid.<>)
                                                                                                       (case
                                                                                                            Lens.Family2.view
                                                                                                              (Data.ProtoLens.Field.field
                                                                                                                 @"maybe'costModels")
                                                                                                              _x
                                                                                                        of
                                                                                                          Prelude.Nothing
                                                                                                            -> Data.Monoid.mempty
                                                                                                          (Prelude.Just _v)
                                                                                                            -> (Data.Monoid.<>)
                                                                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                    250)
                                                                                                                 ((Prelude..)
                                                                                                                    (\ bs
                                                                                                                       -> (Data.Monoid.<>)
                                                                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                               (Prelude.fromIntegral
                                                                                                                                  (Data.ByteString.length
                                                                                                                                     bs)))
                                                                                                                            (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                               bs))
                                                                                                                    Data.ProtoLens.encodeMessage
                                                                                                                    _v))
                                                                                                       ((Data.Monoid.<>)
                                                                                                          (case
                                                                                                               Lens.Family2.view
                                                                                                                 (Data.ProtoLens.Field.field
                                                                                                                    @"maybe'committee")
                                                                                                                 _x
                                                                                                           of
                                                                                                             Prelude.Nothing
                                                                                                               -> Data.Monoid.mempty
                                                                                                             (Prelude.Just _v)
                                                                                                               -> (Data.Monoid.<>)
                                                                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                       258)
                                                                                                                    ((Prelude..)
                                                                                                                       (\ bs
                                                                                                                          -> (Data.Monoid.<>)
                                                                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                  (Prelude.fromIntegral
                                                                                                                                     (Data.ByteString.length
                                                                                                                                        bs)))
                                                                                                                               (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                                  bs))
                                                                                                                       Data.ProtoLens.encodeMessage
                                                                                                                       _v))
                                                                                                          ((Data.Monoid.<>)
                                                                                                             (case
                                                                                                                  Lens.Family2.view
                                                                                                                    (Data.ProtoLens.Field.field
                                                                                                                       @"maybe'constitution")
                                                                                                                    _x
                                                                                                              of
                                                                                                                Prelude.Nothing
                                                                                                                  -> Data.Monoid.mempty
                                                                                                                (Prelude.Just _v)
                                                                                                                  -> (Data.Monoid.<>)
                                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                          266)
                                                                                                                       ((Prelude..)
                                                                                                                          (\ bs
                                                                                                                             -> (Data.Monoid.<>)
                                                                                                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                     (Prelude.fromIntegral
                                                                                                                                        (Data.ByteString.length
                                                                                                                                           bs)))
                                                                                                                                  (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                                     bs))
                                                                                                                          Data.ProtoLens.encodeMessage
                                                                                                                          _v))
                                                                                                             ((Data.Monoid.<>)
                                                                                                                (let
                                                                                                                   _v
                                                                                                                     = Lens.Family2.view
                                                                                                                         (Data.ProtoLens.Field.field
                                                                                                                            @"committeeMinSize")
                                                                                                                         _x
                                                                                                                 in
                                                                                                                   if (Prelude.==)
                                                                                                                        _v
                                                                                                                        Data.ProtoLens.fieldDefault then
                                                                                                                       Data.Monoid.mempty
                                                                                                                   else
                                                                                                                       (Data.Monoid.<>)
                                                                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                            272)
                                                                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                            _v))
                                                                                                                ((Data.Monoid.<>)
                                                                                                                   (let
                                                                                                                      _v
                                                                                                                        = Lens.Family2.view
                                                                                                                            (Data.ProtoLens.Field.field
                                                                                                                               @"committeeMaxTermLength")
                                                                                                                            _x
                                                                                                                    in
                                                                                                                      if (Prelude.==)
                                                                                                                           _v
                                                                                                                           Data.ProtoLens.fieldDefault then
                                                                                                                          Data.Monoid.mempty
                                                                                                                      else
                                                                                                                          (Data.Monoid.<>)
                                                                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                               280)
                                                                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                               _v))
                                                                                                                   ((Data.Monoid.<>)
                                                                                                                      (let
                                                                                                                         _v
                                                                                                                           = Lens.Family2.view
                                                                                                                               (Data.ProtoLens.Field.field
                                                                                                                                  @"govActionLifetime")
                                                                                                                               _x
                                                                                                                       in
                                                                                                                         if (Prelude.==)
                                                                                                                              _v
                                                                                                                              Data.ProtoLens.fieldDefault then
                                                                                                                             Data.Monoid.mempty
                                                                                                                         else
                                                                                                                             (Data.Monoid.<>)
                                                                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                  288)
                                                                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                  _v))
                                                                                                                      ((Data.Monoid.<>)
                                                                                                                         (case
                                                                                                                              Lens.Family2.view
                                                                                                                                (Data.ProtoLens.Field.field
                                                                                                                                   @"maybe'govActionDeposit")
                                                                                                                                _x
                                                                                                                          of
                                                                                                                            Prelude.Nothing
                                                                                                                              -> Data.Monoid.mempty
                                                                                                                            (Prelude.Just _v)
                                                                                                                              -> (Data.Monoid.<>)
                                                                                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                      298)
                                                                                                                                   ((Prelude..)
                                                                                                                                      (\ bs
                                                                                                                                         -> (Data.Monoid.<>)
                                                                                                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                                 (Prelude.fromIntegral
                                                                                                                                                    (Data.ByteString.length
                                                                                                                                                       bs)))
                                                                                                                                              (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                                                 bs))
                                                                                                                                      Data.ProtoLens.encodeMessage
                                                                                                                                      _v))
                                                                                                                         ((Data.Monoid.<>)
                                                                                                                            (case
                                                                                                                                 Lens.Family2.view
                                                                                                                                   (Data.ProtoLens.Field.field
                                                                                                                                      @"maybe'drepDeposit")
                                                                                                                                   _x
                                                                                                                             of
                                                                                                                               Prelude.Nothing
                                                                                                                                 -> Data.Monoid.mempty
                                                                                                                               (Prelude.Just _v)
                                                                                                                                 -> (Data.Monoid.<>)
                                                                                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                         306)
                                                                                                                                      ((Prelude..)
                                                                                                                                         (\ bs
                                                                                                                                            -> (Data.Monoid.<>)
                                                                                                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                                    (Prelude.fromIntegral
                                                                                                                                                       (Data.ByteString.length
                                                                                                                                                          bs)))
                                                                                                                                                 (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                                                    bs))
                                                                                                                                         Data.ProtoLens.encodeMessage
                                                                                                                                         _v))
                                                                                                                            ((Data.Monoid.<>)
                                                                                                                               (let
                                                                                                                                  _v
                                                                                                                                    = Lens.Family2.view
                                                                                                                                        (Data.ProtoLens.Field.field
                                                                                                                                           @"drepActivity")
                                                                                                                                        _x
                                                                                                                                in
                                                                                                                                  if (Prelude.==)
                                                                                                                                       _v
                                                                                                                                       Data.ProtoLens.fieldDefault then
                                                                                                                                      Data.Monoid.mempty
                                                                                                                                  else
                                                                                                                                      (Data.Monoid.<>)
                                                                                                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                           312)
                                                                                                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                           _v))
                                                                                                                               ((Data.Monoid.<>)
                                                                                                                                  (case
                                                                                                                                       Lens.Family2.view
                                                                                                                                         (Data.ProtoLens.Field.field
                                                                                                                                            @"maybe'minFeeRefScriptCostPerByte")
                                                                                                                                         _x
                                                                                                                                   of
                                                                                                                                     Prelude.Nothing
                                                                                                                                       -> Data.Monoid.mempty
                                                                                                                                     (Prelude.Just _v)
                                                                                                                                       -> (Data.Monoid.<>)
                                                                                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                               322)
                                                                                                                                            ((Prelude..)
                                                                                                                                               (\ bs
                                                                                                                                                  -> (Data.Monoid.<>)
                                                                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                                          (Prelude.fromIntegral
                                                                                                                                                             (Data.ByteString.length
                                                                                                                                                                bs)))
                                                                                                                                                       (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                                                          bs))
                                                                                                                                               Data.ProtoLens.encodeMessage
                                                                                                                                               _v))
                                                                                                                                  ((Data.Monoid.<>)
                                                                                                                                     (case
                                                                                                                                          Lens.Family2.view
                                                                                                                                            (Data.ProtoLens.Field.field
                                                                                                                                               @"maybe'drepVotingThresholds")
                                                                                                                                            _x
                                                                                                                                      of
                                                                                                                                        Prelude.Nothing
                                                                                                                                          -> Data.Monoid.mempty
                                                                                                                                        (Prelude.Just _v)
                                                                                                                                          -> (Data.Monoid.<>)
                                                                                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                                  330)
                                                                                                                                               ((Prelude..)
                                                                                                                                                  (\ bs
                                                                                                                                                     -> (Data.Monoid.<>)
                                                                                                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                                             (Prelude.fromIntegral
                                                                                                                                                                (Data.ByteString.length
                                                                                                                                                                   bs)))
                                                                                                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                                                             bs))
                                                                                                                                                  Data.ProtoLens.encodeMessage
                                                                                                                                                  _v))
                                                                                                                                     ((Data.Monoid.<>)
                                                                                                                                        (case
                                                                                                                                             Lens.Family2.view
                                                                                                                                               (Data.ProtoLens.Field.field
                                                                                                                                                  @"maybe'poolVotingThresholds")
                                                                                                                                               _x
                                                                                                                                         of
                                                                                                                                           Prelude.Nothing
                                                                                                                                             -> Data.Monoid.mempty
                                                                                                                                           (Prelude.Just _v)
                                                                                                                                             -> (Data.Monoid.<>)
                                                                                                                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                                     338)
                                                                                                                                                  ((Prelude..)
                                                                                                                                                     (\ bs
                                                                                                                                                        -> (Data.Monoid.<>)
                                                                                                                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                                                                (Prelude.fromIntegral
                                                                                                                                                                   (Data.ByteString.length
                                                                                                                                                                      bs)))
                                                                                                                                                             (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                                                                bs))
                                                                                                                                                     Data.ProtoLens.encodeMessage
                                                                                                                                                     _v))
                                                                                                                                        (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                                                                                                                           (Lens.Family2.view
                                                                                                                                              Data.ProtoLens.unknownFields
                                                                                                                                              _x)))))))))))))))))))))))))))))))))))))))))))
instance Control.DeepSeq.NFData Genesis where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'avvmDistr x__)
                (Control.DeepSeq.deepseq
                   (_Genesis'blockVersionData x__)
                   (Control.DeepSeq.deepseq
                      (_Genesis'ftsSeed x__)
                      (Control.DeepSeq.deepseq
                         (_Genesis'protocolConsts x__)
                         (Control.DeepSeq.deepseq
                            (_Genesis'startTime x__)
                            (Control.DeepSeq.deepseq
                               (_Genesis'bootStakeholders x__)
                               (Control.DeepSeq.deepseq
                                  (_Genesis'heavyDelegation x__)
                                  (Control.DeepSeq.deepseq
                                     (_Genesis'nonAvvmBalances x__)
                                     (Control.DeepSeq.deepseq
                                        (_Genesis'vssCerts x__)
                                        (Control.DeepSeq.deepseq
                                           (_Genesis'activeSlotsCoeff x__)
                                           (Control.DeepSeq.deepseq
                                              (_Genesis'epochLength x__)
                                              (Control.DeepSeq.deepseq
                                                 (_Genesis'genDelegs x__)
                                                 (Control.DeepSeq.deepseq
                                                    (_Genesis'initialFunds x__)
                                                    (Control.DeepSeq.deepseq
                                                       (_Genesis'maxKesEvolutions x__)
                                                       (Control.DeepSeq.deepseq
                                                          (_Genesis'maxLovelaceSupply x__)
                                                          (Control.DeepSeq.deepseq
                                                             (_Genesis'networkId x__)
                                                             (Control.DeepSeq.deepseq
                                                                (_Genesis'networkMagic x__)
                                                                (Control.DeepSeq.deepseq
                                                                   (_Genesis'protocolParams x__)
                                                                   (Control.DeepSeq.deepseq
                                                                      (_Genesis'securityParam x__)
                                                                      (Control.DeepSeq.deepseq
                                                                         (_Genesis'slotLength x__)
                                                                         (Control.DeepSeq.deepseq
                                                                            (_Genesis'slotsPerKesPeriod
                                                                               x__)
                                                                            (Control.DeepSeq.deepseq
                                                                               (_Genesis'systemStart
                                                                                  x__)
                                                                               (Control.DeepSeq.deepseq
                                                                                  (_Genesis'updateQuorum
                                                                                     x__)
                                                                                  (Control.DeepSeq.deepseq
                                                                                     (_Genesis'lovelacePerUtxoWord
                                                                                        x__)
                                                                                     (Control.DeepSeq.deepseq
                                                                                        (_Genesis'executionPrices
                                                                                           x__)
                                                                                        (Control.DeepSeq.deepseq
                                                                                           (_Genesis'maxTxExUnits
                                                                                              x__)
                                                                                           (Control.DeepSeq.deepseq
                                                                                              (_Genesis'maxBlockExUnits
                                                                                                 x__)
                                                                                              (Control.DeepSeq.deepseq
                                                                                                 (_Genesis'maxValueSize
                                                                                                    x__)
                                                                                                 (Control.DeepSeq.deepseq
                                                                                                    (_Genesis'collateralPercentage
                                                                                                       x__)
                                                                                                    (Control.DeepSeq.deepseq
                                                                                                       (_Genesis'maxCollateralInputs
                                                                                                          x__)
                                                                                                       (Control.DeepSeq.deepseq
                                                                                                          (_Genesis'costModels
                                                                                                             x__)
                                                                                                          (Control.DeepSeq.deepseq
                                                                                                             (_Genesis'committee
                                                                                                                x__)
                                                                                                             (Control.DeepSeq.deepseq
                                                                                                                (_Genesis'constitution
                                                                                                                   x__)
                                                                                                                (Control.DeepSeq.deepseq
                                                                                                                   (_Genesis'committeeMinSize
                                                                                                                      x__)
                                                                                                                   (Control.DeepSeq.deepseq
                                                                                                                      (_Genesis'committeeMaxTermLength
                                                                                                                         x__)
                                                                                                                      (Control.DeepSeq.deepseq
                                                                                                                         (_Genesis'govActionLifetime
                                                                                                                            x__)
                                                                                                                         (Control.DeepSeq.deepseq
                                                                                                                            (_Genesis'govActionDeposit
                                                                                                                               x__)
                                                                                                                            (Control.DeepSeq.deepseq
                                                                                                                               (_Genesis'drepDeposit
                                                                                                                                  x__)
                                                                                                                               (Control.DeepSeq.deepseq
                                                                                                                                  (_Genesis'drepActivity
                                                                                                                                     x__)
                                                                                                                                  (Control.DeepSeq.deepseq
                                                                                                                                     (_Genesis'minFeeRefScriptCostPerByte
                                                                                                                                        x__)
                                                                                                                                     (Control.DeepSeq.deepseq
                                                                                                                                        (_Genesis'drepVotingThresholds
                                                                                                                                           x__)
                                                                                                                                        (Control.DeepSeq.deepseq
                                                                                                                                           (_Genesis'poolVotingThresholds
                                                                                                                                              x__)
                                                                                                                                           ()))))))))))))))))))))))))))))))))))))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Genesis'AvvmDistrEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Genesis'AvvmDistrEntry Data.Text.Text@ -}
data Genesis'AvvmDistrEntry
  = Genesis'AvvmDistrEntry'_constructor {_Genesis'AvvmDistrEntry'key :: !Data.Text.Text,
                                         _Genesis'AvvmDistrEntry'value :: !Data.Text.Text,
                                         _Genesis'AvvmDistrEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis'AvvmDistrEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis'AvvmDistrEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'AvvmDistrEntry'key
           (\ x__ y__ -> x__ {_Genesis'AvvmDistrEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis'AvvmDistrEntry "value" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'AvvmDistrEntry'value
           (\ x__ y__ -> x__ {_Genesis'AvvmDistrEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis'AvvmDistrEntry where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.Genesis.AvvmDistrEntry"
  packedMessageDescriptor _
    = "\n\
      \\SOAvvmDistrEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Genesis'AvvmDistrEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"value")) ::
              Data.ProtoLens.FieldDescriptor Genesis'AvvmDistrEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'AvvmDistrEntry'_unknownFields
        (\ x__ y__ -> x__ {_Genesis'AvvmDistrEntry'_unknownFields = y__})
  defMessage
    = Genesis'AvvmDistrEntry'_constructor
        {_Genesis'AvvmDistrEntry'key = Data.ProtoLens.fieldDefault,
         _Genesis'AvvmDistrEntry'value = Data.ProtoLens.fieldDefault,
         _Genesis'AvvmDistrEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Genesis'AvvmDistrEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Genesis'AvvmDistrEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "AvvmDistrEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Genesis'AvvmDistrEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'AvvmDistrEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'AvvmDistrEntry'key x__)
                (Control.DeepSeq.deepseq (_Genesis'AvvmDistrEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Genesis'BootStakeholdersEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Genesis'BootStakeholdersEntry Data.Word.Word64@ -}
data Genesis'BootStakeholdersEntry
  = Genesis'BootStakeholdersEntry'_constructor {_Genesis'BootStakeholdersEntry'key :: !Data.Text.Text,
                                                _Genesis'BootStakeholdersEntry'value :: !Data.Word.Word64,
                                                _Genesis'BootStakeholdersEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis'BootStakeholdersEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis'BootStakeholdersEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'BootStakeholdersEntry'key
           (\ x__ y__ -> x__ {_Genesis'BootStakeholdersEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis'BootStakeholdersEntry "value" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'BootStakeholdersEntry'value
           (\ x__ y__ -> x__ {_Genesis'BootStakeholdersEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis'BootStakeholdersEntry where
  messageName _
    = Data.Text.pack
        "utxorpc.v1beta.cardano.Genesis.BootStakeholdersEntry"
  packedMessageDescriptor _
    = "\n\
      \\NAKBootStakeholdersEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\EOTR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Genesis'BootStakeholdersEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"value")) ::
              Data.ProtoLens.FieldDescriptor Genesis'BootStakeholdersEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'BootStakeholdersEntry'_unknownFields
        (\ x__ y__
           -> x__ {_Genesis'BootStakeholdersEntry'_unknownFields = y__})
  defMessage
    = Genesis'BootStakeholdersEntry'_constructor
        {_Genesis'BootStakeholdersEntry'key = Data.ProtoLens.fieldDefault,
         _Genesis'BootStakeholdersEntry'value = Data.ProtoLens.fieldDefault,
         _Genesis'BootStakeholdersEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Genesis'BootStakeholdersEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Genesis'BootStakeholdersEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "BootStakeholdersEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Genesis'BootStakeholdersEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'BootStakeholdersEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'BootStakeholdersEntry'key x__)
                (Control.DeepSeq.deepseq
                   (_Genesis'BootStakeholdersEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Genesis'GenDelegsEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Genesis'GenDelegsEntry GenDelegs@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'value' @:: Lens' Genesis'GenDelegsEntry (Prelude.Maybe GenDelegs)@ -}
data Genesis'GenDelegsEntry
  = Genesis'GenDelegsEntry'_constructor {_Genesis'GenDelegsEntry'key :: !Data.Text.Text,
                                         _Genesis'GenDelegsEntry'value :: !(Prelude.Maybe GenDelegs),
                                         _Genesis'GenDelegsEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis'GenDelegsEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis'GenDelegsEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'GenDelegsEntry'key
           (\ x__ y__ -> x__ {_Genesis'GenDelegsEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis'GenDelegsEntry "value" GenDelegs where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'GenDelegsEntry'value
           (\ x__ y__ -> x__ {_Genesis'GenDelegsEntry'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis'GenDelegsEntry "maybe'value" (Prelude.Maybe GenDelegs) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'GenDelegsEntry'value
           (\ x__ y__ -> x__ {_Genesis'GenDelegsEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis'GenDelegsEntry where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.Genesis.GenDelegsEntry"
  packedMessageDescriptor _
    = "\n\
      \\SOGenDelegsEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC27\n\
      \\ENQvalue\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.GenDelegsR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Genesis'GenDelegsEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GenDelegs)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor Genesis'GenDelegsEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'GenDelegsEntry'_unknownFields
        (\ x__ y__ -> x__ {_Genesis'GenDelegsEntry'_unknownFields = y__})
  defMessage
    = Genesis'GenDelegsEntry'_constructor
        {_Genesis'GenDelegsEntry'key = Data.ProtoLens.fieldDefault,
         _Genesis'GenDelegsEntry'value = Prelude.Nothing,
         _Genesis'GenDelegsEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Genesis'GenDelegsEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Genesis'GenDelegsEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "GenDelegsEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Genesis'GenDelegsEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'GenDelegsEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'GenDelegsEntry'key x__)
                (Control.DeepSeq.deepseq (_Genesis'GenDelegsEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Genesis'HeavyDelegationEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Genesis'HeavyDelegationEntry HeavyDelegation@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'value' @:: Lens' Genesis'HeavyDelegationEntry (Prelude.Maybe HeavyDelegation)@ -}
data Genesis'HeavyDelegationEntry
  = Genesis'HeavyDelegationEntry'_constructor {_Genesis'HeavyDelegationEntry'key :: !Data.Text.Text,
                                               _Genesis'HeavyDelegationEntry'value :: !(Prelude.Maybe HeavyDelegation),
                                               _Genesis'HeavyDelegationEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis'HeavyDelegationEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis'HeavyDelegationEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'HeavyDelegationEntry'key
           (\ x__ y__ -> x__ {_Genesis'HeavyDelegationEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis'HeavyDelegationEntry "value" HeavyDelegation where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'HeavyDelegationEntry'value
           (\ x__ y__ -> x__ {_Genesis'HeavyDelegationEntry'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis'HeavyDelegationEntry "maybe'value" (Prelude.Maybe HeavyDelegation) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'HeavyDelegationEntry'value
           (\ x__ y__ -> x__ {_Genesis'HeavyDelegationEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis'HeavyDelegationEntry where
  messageName _
    = Data.Text.pack
        "utxorpc.v1beta.cardano.Genesis.HeavyDelegationEntry"
  packedMessageDescriptor _
    = "\n\
      \\DC4HeavyDelegationEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2=\n\
      \\ENQvalue\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.HeavyDelegationR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Genesis'HeavyDelegationEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor HeavyDelegation)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor Genesis'HeavyDelegationEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'HeavyDelegationEntry'_unknownFields
        (\ x__ y__
           -> x__ {_Genesis'HeavyDelegationEntry'_unknownFields = y__})
  defMessage
    = Genesis'HeavyDelegationEntry'_constructor
        {_Genesis'HeavyDelegationEntry'key = Data.ProtoLens.fieldDefault,
         _Genesis'HeavyDelegationEntry'value = Prelude.Nothing,
         _Genesis'HeavyDelegationEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Genesis'HeavyDelegationEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Genesis'HeavyDelegationEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "HeavyDelegationEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Genesis'HeavyDelegationEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'HeavyDelegationEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'HeavyDelegationEntry'key x__)
                (Control.DeepSeq.deepseq
                   (_Genesis'HeavyDelegationEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Genesis'InitialFundsEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Genesis'InitialFundsEntry BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'value' @:: Lens' Genesis'InitialFundsEntry (Prelude.Maybe BigInt)@ -}
data Genesis'InitialFundsEntry
  = Genesis'InitialFundsEntry'_constructor {_Genesis'InitialFundsEntry'key :: !Data.Text.Text,
                                            _Genesis'InitialFundsEntry'value :: !(Prelude.Maybe BigInt),
                                            _Genesis'InitialFundsEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis'InitialFundsEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis'InitialFundsEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'InitialFundsEntry'key
           (\ x__ y__ -> x__ {_Genesis'InitialFundsEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis'InitialFundsEntry "value" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'InitialFundsEntry'value
           (\ x__ y__ -> x__ {_Genesis'InitialFundsEntry'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis'InitialFundsEntry "maybe'value" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'InitialFundsEntry'value
           (\ x__ y__ -> x__ {_Genesis'InitialFundsEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis'InitialFundsEntry where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.Genesis.InitialFundsEntry"
  packedMessageDescriptor _
    = "\n\
      \\DC1InitialFundsEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC24\n\
      \\ENQvalue\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Genesis'InitialFundsEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor Genesis'InitialFundsEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'InitialFundsEntry'_unknownFields
        (\ x__ y__
           -> x__ {_Genesis'InitialFundsEntry'_unknownFields = y__})
  defMessage
    = Genesis'InitialFundsEntry'_constructor
        {_Genesis'InitialFundsEntry'key = Data.ProtoLens.fieldDefault,
         _Genesis'InitialFundsEntry'value = Prelude.Nothing,
         _Genesis'InitialFundsEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Genesis'InitialFundsEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Genesis'InitialFundsEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "InitialFundsEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Genesis'InitialFundsEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'InitialFundsEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'InitialFundsEntry'key x__)
                (Control.DeepSeq.deepseq
                   (_Genesis'InitialFundsEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Genesis'NonAvvmBalancesEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Genesis'NonAvvmBalancesEntry Data.Text.Text@ -}
data Genesis'NonAvvmBalancesEntry
  = Genesis'NonAvvmBalancesEntry'_constructor {_Genesis'NonAvvmBalancesEntry'key :: !Data.Text.Text,
                                               _Genesis'NonAvvmBalancesEntry'value :: !Data.Text.Text,
                                               _Genesis'NonAvvmBalancesEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis'NonAvvmBalancesEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis'NonAvvmBalancesEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'NonAvvmBalancesEntry'key
           (\ x__ y__ -> x__ {_Genesis'NonAvvmBalancesEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis'NonAvvmBalancesEntry "value" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'NonAvvmBalancesEntry'value
           (\ x__ y__ -> x__ {_Genesis'NonAvvmBalancesEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis'NonAvvmBalancesEntry where
  messageName _
    = Data.Text.pack
        "utxorpc.v1beta.cardano.Genesis.NonAvvmBalancesEntry"
  packedMessageDescriptor _
    = "\n\
      \\DC4NonAvvmBalancesEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
      \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Genesis'NonAvvmBalancesEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"value")) ::
              Data.ProtoLens.FieldDescriptor Genesis'NonAvvmBalancesEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'NonAvvmBalancesEntry'_unknownFields
        (\ x__ y__
           -> x__ {_Genesis'NonAvvmBalancesEntry'_unknownFields = y__})
  defMessage
    = Genesis'NonAvvmBalancesEntry'_constructor
        {_Genesis'NonAvvmBalancesEntry'key = Data.ProtoLens.fieldDefault,
         _Genesis'NonAvvmBalancesEntry'value = Data.ProtoLens.fieldDefault,
         _Genesis'NonAvvmBalancesEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Genesis'NonAvvmBalancesEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Genesis'NonAvvmBalancesEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "NonAvvmBalancesEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Genesis'NonAvvmBalancesEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'NonAvvmBalancesEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'NonAvvmBalancesEntry'key x__)
                (Control.DeepSeq.deepseq
                   (_Genesis'NonAvvmBalancesEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' Genesis'VssCertsEntry Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Genesis'VssCertsEntry VssCert@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'value' @:: Lens' Genesis'VssCertsEntry (Prelude.Maybe VssCert)@ -}
data Genesis'VssCertsEntry
  = Genesis'VssCertsEntry'_constructor {_Genesis'VssCertsEntry'key :: !Data.Text.Text,
                                        _Genesis'VssCertsEntry'value :: !(Prelude.Maybe VssCert),
                                        _Genesis'VssCertsEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Genesis'VssCertsEntry where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Genesis'VssCertsEntry "key" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'VssCertsEntry'key
           (\ x__ y__ -> x__ {_Genesis'VssCertsEntry'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Genesis'VssCertsEntry "value" VssCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'VssCertsEntry'value
           (\ x__ y__ -> x__ {_Genesis'VssCertsEntry'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Genesis'VssCertsEntry "maybe'value" (Prelude.Maybe VssCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Genesis'VssCertsEntry'value
           (\ x__ y__ -> x__ {_Genesis'VssCertsEntry'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Genesis'VssCertsEntry where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.Genesis.VssCertsEntry"
  packedMessageDescriptor _
    = "\n\
      \\rVssCertsEntry\DC2\DLE\n\
      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC25\n\
      \\ENQvalue\CAN\STX \SOH(\v2\US.utxorpc.v1beta.cardano.VssCertR\ENQvalue:\STX8\SOH"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
              Data.ProtoLens.FieldDescriptor Genesis'VssCertsEntry
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VssCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor Genesis'VssCertsEntry
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Genesis'VssCertsEntry'_unknownFields
        (\ x__ y__ -> x__ {_Genesis'VssCertsEntry'_unknownFields = y__})
  defMessage
    = Genesis'VssCertsEntry'_constructor
        {_Genesis'VssCertsEntry'key = Data.ProtoLens.fieldDefault,
         _Genesis'VssCertsEntry'value = Prelude.Nothing,
         _Genesis'VssCertsEntry'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Genesis'VssCertsEntry
          -> Data.ProtoLens.Encoding.Bytes.Parser Genesis'VssCertsEntry
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "VssCertsEntry"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Genesis'VssCertsEntry where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Genesis'VssCertsEntry'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Genesis'VssCertsEntry'key x__)
                (Control.DeepSeq.deepseq (_Genesis'VssCertsEntry'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.genesisHash' @:: Lens' GenesisKeyDelegationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.genesisDelegateHash' @:: Lens' GenesisKeyDelegationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vrfKeyhash' @:: Lens' GenesisKeyDelegationCert Data.ByteString.ByteString@ -}
data GenesisKeyDelegationCert
  = GenesisKeyDelegationCert'_constructor {_GenesisKeyDelegationCert'genesisHash :: !Data.ByteString.ByteString,
                                           _GenesisKeyDelegationCert'genesisDelegateHash :: !Data.ByteString.ByteString,
                                           _GenesisKeyDelegationCert'vrfKeyhash :: !Data.ByteString.ByteString,
                                           _GenesisKeyDelegationCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GenesisKeyDelegationCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField GenesisKeyDelegationCert "genesisHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenesisKeyDelegationCert'genesisHash
           (\ x__ y__ -> x__ {_GenesisKeyDelegationCert'genesisHash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GenesisKeyDelegationCert "genesisDelegateHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenesisKeyDelegationCert'genesisDelegateHash
           (\ x__ y__
              -> x__ {_GenesisKeyDelegationCert'genesisDelegateHash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GenesisKeyDelegationCert "vrfKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenesisKeyDelegationCert'vrfKeyhash
           (\ x__ y__ -> x__ {_GenesisKeyDelegationCert'vrfKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Message GenesisKeyDelegationCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.GenesisKeyDelegationCert"
  packedMessageDescriptor _
    = "\n\
      \\CANGenesisKeyDelegationCert\DC2!\n\
      \\fgenesis_hash\CAN\SOH \SOH(\fR\vgenesisHash\DC22\n\
      \\NAKgenesis_delegate_hash\CAN\STX \SOH(\fR\DC3genesisDelegateHash\DC2\US\n\
      \\vvrf_keyhash\CAN\ETX \SOH(\fR\n\
      \vrfKeyhash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        genesisHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "genesis_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"genesisHash")) ::
              Data.ProtoLens.FieldDescriptor GenesisKeyDelegationCert
        genesisDelegateHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "genesis_delegate_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"genesisDelegateHash")) ::
              Data.ProtoLens.FieldDescriptor GenesisKeyDelegationCert
        vrfKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vrf_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"vrfKeyhash")) ::
              Data.ProtoLens.FieldDescriptor GenesisKeyDelegationCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, genesisHash__field_descriptor),
           (Data.ProtoLens.Tag 2, genesisDelegateHash__field_descriptor),
           (Data.ProtoLens.Tag 3, vrfKeyhash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GenesisKeyDelegationCert'_unknownFields
        (\ x__ y__ -> x__ {_GenesisKeyDelegationCert'_unknownFields = y__})
  defMessage
    = GenesisKeyDelegationCert'_constructor
        {_GenesisKeyDelegationCert'genesisHash = Data.ProtoLens.fieldDefault,
         _GenesisKeyDelegationCert'genesisDelegateHash = Data.ProtoLens.fieldDefault,
         _GenesisKeyDelegationCert'vrfKeyhash = Data.ProtoLens.fieldDefault,
         _GenesisKeyDelegationCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GenesisKeyDelegationCert
          -> Data.ProtoLens.Encoding.Bytes.Parser GenesisKeyDelegationCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "genesis_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"genesisHash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "genesis_delegate_hash"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"genesisDelegateHash") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "vrf_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"vrfKeyhash") y x)
                        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) "GenesisKeyDelegationCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"genesisHash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"genesisDelegateHash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"vrfKeyhash") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData GenesisKeyDelegationCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GenesisKeyDelegationCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GenesisKeyDelegationCert'genesisHash x__)
                (Control.DeepSeq.deepseq
                   (_GenesisKeyDelegationCert'genesisDelegateHash x__)
                   (Control.DeepSeq.deepseq
                      (_GenesisKeyDelegationCert'vrfKeyhash x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'governanceAction' @:: Lens' GovernanceAction (Prelude.Maybe GovernanceAction'GovernanceAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'parameterChangeAction' @:: Lens' GovernanceAction (Prelude.Maybe ParameterChangeAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.parameterChangeAction' @:: Lens' GovernanceAction ParameterChangeAction@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'hardForkInitiationAction' @:: Lens' GovernanceAction (Prelude.Maybe HardForkInitiationAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hardForkInitiationAction' @:: Lens' GovernanceAction HardForkInitiationAction@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'treasuryWithdrawalsAction' @:: Lens' GovernanceAction (Prelude.Maybe TreasuryWithdrawalsAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.treasuryWithdrawalsAction' @:: Lens' GovernanceAction TreasuryWithdrawalsAction@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'noConfidenceAction' @:: Lens' GovernanceAction (Prelude.Maybe NoConfidenceAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.noConfidenceAction' @:: Lens' GovernanceAction NoConfidenceAction@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'updateCommitteeAction' @:: Lens' GovernanceAction (Prelude.Maybe UpdateCommitteeAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.updateCommitteeAction' @:: Lens' GovernanceAction UpdateCommitteeAction@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'newConstitutionAction' @:: Lens' GovernanceAction (Prelude.Maybe NewConstitutionAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.newConstitutionAction' @:: Lens' GovernanceAction NewConstitutionAction@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'infoAction' @:: Lens' GovernanceAction (Prelude.Maybe InfoAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.infoAction' @:: Lens' GovernanceAction InfoAction@ -}
data GovernanceAction
  = GovernanceAction'_constructor {_GovernanceAction'governanceAction :: !(Prelude.Maybe GovernanceAction'GovernanceAction),
                                   _GovernanceAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GovernanceAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data GovernanceAction'GovernanceAction
  = GovernanceAction'ParameterChangeAction !ParameterChangeAction |
    GovernanceAction'HardForkInitiationAction !HardForkInitiationAction |
    GovernanceAction'TreasuryWithdrawalsAction !TreasuryWithdrawalsAction |
    GovernanceAction'NoConfidenceAction !NoConfidenceAction |
    GovernanceAction'UpdateCommitteeAction !UpdateCommitteeAction |
    GovernanceAction'NewConstitutionAction !NewConstitutionAction |
    GovernanceAction'InfoAction !InfoAction
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'governanceAction" (Prelude.Maybe GovernanceAction'GovernanceAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'parameterChangeAction" (Prelude.Maybe ParameterChangeAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'ParameterChangeAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'ParameterChangeAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "parameterChangeAction" ParameterChangeAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'ParameterChangeAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'ParameterChangeAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'hardForkInitiationAction" (Prelude.Maybe HardForkInitiationAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'HardForkInitiationAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'HardForkInitiationAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "hardForkInitiationAction" HardForkInitiationAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'HardForkInitiationAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'HardForkInitiationAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'treasuryWithdrawalsAction" (Prelude.Maybe TreasuryWithdrawalsAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'TreasuryWithdrawalsAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'TreasuryWithdrawalsAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "treasuryWithdrawalsAction" TreasuryWithdrawalsAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'TreasuryWithdrawalsAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'TreasuryWithdrawalsAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'noConfidenceAction" (Prelude.Maybe NoConfidenceAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'NoConfidenceAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap GovernanceAction'NoConfidenceAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "noConfidenceAction" NoConfidenceAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'NoConfidenceAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap GovernanceAction'NoConfidenceAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'updateCommitteeAction" (Prelude.Maybe UpdateCommitteeAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'UpdateCommitteeAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'UpdateCommitteeAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "updateCommitteeAction" UpdateCommitteeAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'UpdateCommitteeAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'UpdateCommitteeAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'newConstitutionAction" (Prelude.Maybe NewConstitutionAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'NewConstitutionAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'NewConstitutionAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "newConstitutionAction" NewConstitutionAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'NewConstitutionAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'NewConstitutionAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'infoAction" (Prelude.Maybe InfoAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'InfoAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap GovernanceAction'InfoAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "infoAction" InfoAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'InfoAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap GovernanceAction'InfoAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Message GovernanceAction where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.GovernanceAction"
  packedMessageDescriptor _
    = "\n\
      \\DLEGovernanceAction\DC2g\n\
      \\ETBparameter_change_action\CAN\SOH \SOH(\v2-.utxorpc.v1beta.cardano.ParameterChangeActionH\NULR\NAKparameterChangeAction\DC2q\n\
      \\ESChard_fork_initiation_action\CAN\STX \SOH(\v20.utxorpc.v1beta.cardano.HardForkInitiationActionH\NULR\CANhardForkInitiationAction\DC2s\n\
      \\ESCtreasury_withdrawals_action\CAN\ETX \SOH(\v21.utxorpc.v1beta.cardano.TreasuryWithdrawalsActionH\NULR\EMtreasuryWithdrawalsAction\DC2^\n\
      \\DC4no_confidence_action\CAN\EOT \SOH(\v2*.utxorpc.v1beta.cardano.NoConfidenceActionH\NULR\DC2noConfidenceAction\DC2g\n\
      \\ETBupdate_committee_action\CAN\ENQ \SOH(\v2-.utxorpc.v1beta.cardano.UpdateCommitteeActionH\NULR\NAKupdateCommitteeAction\DC2g\n\
      \\ETBnew_constitution_action\CAN\ACK \SOH(\v2-.utxorpc.v1beta.cardano.NewConstitutionActionH\NULR\NAKnewConstitutionAction\DC2E\n\
      \\vinfo_action\CAN\a \SOH(\v2\".utxorpc.v1beta.cardano.InfoActionH\NULR\n\
      \infoActionB\DC3\n\
      \\DC1governance_action"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        parameterChangeAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "parameter_change_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ParameterChangeAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'parameterChangeAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        hardForkInitiationAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hard_fork_initiation_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor HardForkInitiationAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'hardForkInitiationAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        treasuryWithdrawalsAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "treasury_withdrawals_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TreasuryWithdrawalsAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'treasuryWithdrawalsAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        noConfidenceAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "no_confidence_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NoConfidenceAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'noConfidenceAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        updateCommitteeAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_committee_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UpdateCommitteeAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'updateCommitteeAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        newConstitutionAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "new_constitution_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NewConstitutionAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'newConstitutionAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        infoAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "info_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor InfoAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'infoAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, parameterChangeAction__field_descriptor),
           (Data.ProtoLens.Tag 2, hardForkInitiationAction__field_descriptor),
           (Data.ProtoLens.Tag 3, 
            treasuryWithdrawalsAction__field_descriptor),
           (Data.ProtoLens.Tag 4, noConfidenceAction__field_descriptor),
           (Data.ProtoLens.Tag 5, updateCommitteeAction__field_descriptor),
           (Data.ProtoLens.Tag 6, newConstitutionAction__field_descriptor),
           (Data.ProtoLens.Tag 7, infoAction__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GovernanceAction'_unknownFields
        (\ x__ y__ -> x__ {_GovernanceAction'_unknownFields = y__})
  defMessage
    = GovernanceAction'_constructor
        {_GovernanceAction'governanceAction = Prelude.Nothing,
         _GovernanceAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GovernanceAction
          -> Data.ProtoLens.Encoding.Bytes.Parser GovernanceAction
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "parameter_change_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"parameterChangeAction") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "hard_fork_initiation_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"hardForkInitiationAction") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "treasury_withdrawals_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"treasuryWithdrawalsAction") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "no_confidence_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"noConfidenceAction") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "update_committee_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateCommitteeAction") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "new_constitution_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"newConstitutionAction") y x)
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "info_action"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"infoAction") y x)
                        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) "GovernanceAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'governanceAction") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (GovernanceAction'ParameterChangeAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'HardForkInitiationAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'TreasuryWithdrawalsAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'NoConfidenceAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'UpdateCommitteeAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'NewConstitutionAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'InfoAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData GovernanceAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GovernanceAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GovernanceAction'governanceAction x__) ())
instance Control.DeepSeq.NFData GovernanceAction'GovernanceAction where
  rnf (GovernanceAction'ParameterChangeAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'HardForkInitiationAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'TreasuryWithdrawalsAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'NoConfidenceAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'UpdateCommitteeAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'NewConstitutionAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'InfoAction x__) = Control.DeepSeq.rnf x__
_GovernanceAction'ParameterChangeAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction ParameterChangeAction
_GovernanceAction'ParameterChangeAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'ParameterChangeAction
      (\ p__
         -> case p__ of
              (GovernanceAction'ParameterChangeAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'HardForkInitiationAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction HardForkInitiationAction
_GovernanceAction'HardForkInitiationAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'HardForkInitiationAction
      (\ p__
         -> case p__ of
              (GovernanceAction'HardForkInitiationAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'TreasuryWithdrawalsAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction TreasuryWithdrawalsAction
_GovernanceAction'TreasuryWithdrawalsAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'TreasuryWithdrawalsAction
      (\ p__
         -> case p__ of
              (GovernanceAction'TreasuryWithdrawalsAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'NoConfidenceAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction NoConfidenceAction
_GovernanceAction'NoConfidenceAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'NoConfidenceAction
      (\ p__
         -> case p__ of
              (GovernanceAction'NoConfidenceAction p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'UpdateCommitteeAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction UpdateCommitteeAction
_GovernanceAction'UpdateCommitteeAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'UpdateCommitteeAction
      (\ p__
         -> case p__ of
              (GovernanceAction'UpdateCommitteeAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'NewConstitutionAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction NewConstitutionAction
_GovernanceAction'NewConstitutionAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'NewConstitutionAction
      (\ p__
         -> case p__ of
              (GovernanceAction'NewConstitutionAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'InfoAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction InfoAction
_GovernanceAction'InfoAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'InfoAction
      (\ p__
         -> case p__ of
              (GovernanceAction'InfoAction p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.transactionId' @:: Lens' GovernanceActionId Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.governanceActionIndex' @:: Lens' GovernanceActionId Data.Word.Word32@ -}
data GovernanceActionId
  = GovernanceActionId'_constructor {_GovernanceActionId'transactionId :: !Data.ByteString.ByteString,
                                     _GovernanceActionId'governanceActionIndex :: !Data.Word.Word32,
                                     _GovernanceActionId'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GovernanceActionId where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField GovernanceActionId "transactionId" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionId'transactionId
           (\ x__ y__ -> x__ {_GovernanceActionId'transactionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionId "governanceActionIndex" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionId'governanceActionIndex
           (\ x__ y__
              -> x__ {_GovernanceActionId'governanceActionIndex = y__}))
        Prelude.id
instance Data.ProtoLens.Message GovernanceActionId where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.GovernanceActionId"
  packedMessageDescriptor _
    = "\n\
      \\DC2GovernanceActionId\DC2%\n\
      \\SOtransaction_id\CAN\SOH \SOH(\fR\rtransactionId\DC26\n\
      \\ETBgovernance_action_index\CAN\STX \SOH(\rR\NAKgovernanceActionIndex"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        transactionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "transaction_id"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"transactionId")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionId
        governanceActionIndex__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "governance_action_index"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"governanceActionIndex")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionId
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, transactionId__field_descriptor),
           (Data.ProtoLens.Tag 2, governanceActionIndex__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GovernanceActionId'_unknownFields
        (\ x__ y__ -> x__ {_GovernanceActionId'_unknownFields = y__})
  defMessage
    = GovernanceActionId'_constructor
        {_GovernanceActionId'transactionId = Data.ProtoLens.fieldDefault,
         _GovernanceActionId'governanceActionIndex = Data.ProtoLens.fieldDefault,
         _GovernanceActionId'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GovernanceActionId
          -> Data.ProtoLens.Encoding.Bytes.Parser GovernanceActionId
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "transaction_id"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"transactionId") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "governance_action_index"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"governanceActionIndex") y x)
                        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) "GovernanceActionId"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"transactionId") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"governanceActionIndex") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData GovernanceActionId where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GovernanceActionId'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GovernanceActionId'transactionId x__)
                (Control.DeepSeq.deepseq
                   (_GovernanceActionId'governanceActionIndex x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.deposit' @:: Lens' GovernanceActionProposal BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'deposit' @:: Lens' GovernanceActionProposal (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.rewardAccount' @:: Lens' GovernanceActionProposal Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govAction' @:: Lens' GovernanceActionProposal GovernanceAction@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'govAction' @:: Lens' GovernanceActionProposal (Prelude.Maybe GovernanceAction)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anchor' @:: Lens' GovernanceActionProposal Anchor@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' GovernanceActionProposal (Prelude.Maybe Anchor)@ -}
data GovernanceActionProposal
  = GovernanceActionProposal'_constructor {_GovernanceActionProposal'deposit :: !(Prelude.Maybe BigInt),
                                           _GovernanceActionProposal'rewardAccount :: !Data.ByteString.ByteString,
                                           _GovernanceActionProposal'govAction :: !(Prelude.Maybe GovernanceAction),
                                           _GovernanceActionProposal'anchor :: !(Prelude.Maybe Anchor),
                                           _GovernanceActionProposal'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GovernanceActionProposal where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "deposit" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'deposit
           (\ x__ y__ -> x__ {_GovernanceActionProposal'deposit = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "maybe'deposit" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'deposit
           (\ x__ y__ -> x__ {_GovernanceActionProposal'deposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'rewardAccount
           (\ x__ y__ -> x__ {_GovernanceActionProposal'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "govAction" GovernanceAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'govAction
           (\ x__ y__ -> x__ {_GovernanceActionProposal'govAction = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "maybe'govAction" (Prelude.Maybe GovernanceAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'govAction
           (\ x__ y__ -> x__ {_GovernanceActionProposal'govAction = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'anchor
           (\ x__ y__ -> x__ {_GovernanceActionProposal'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'anchor
           (\ x__ y__ -> x__ {_GovernanceActionProposal'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message GovernanceActionProposal where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.GovernanceActionProposal"
  packedMessageDescriptor _
    = "\n\
      \\CANGovernanceActionProposal\DC28\n\
      \\adeposit\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\adeposit\DC2%\n\
      \\SOreward_account\CAN\STX \SOH(\fR\rrewardAccount\DC2G\n\
      \\n\
      \gov_action\CAN\ETX \SOH(\v2(.utxorpc.v1beta.cardano.GovernanceActionR\tgovAction\DC26\n\
      \\ACKanchor\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        deposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "deposit"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'deposit")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
        govAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, deposit__field_descriptor),
           (Data.ProtoLens.Tag 2, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 3, govAction__field_descriptor),
           (Data.ProtoLens.Tag 4, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GovernanceActionProposal'_unknownFields
        (\ x__ y__ -> x__ {_GovernanceActionProposal'_unknownFields = y__})
  defMessage
    = GovernanceActionProposal'_constructor
        {_GovernanceActionProposal'deposit = Prelude.Nothing,
         _GovernanceActionProposal'rewardAccount = Data.ProtoLens.fieldDefault,
         _GovernanceActionProposal'govAction = Prelude.Nothing,
         _GovernanceActionProposal'anchor = Prelude.Nothing,
         _GovernanceActionProposal'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GovernanceActionProposal
          -> Data.ProtoLens.Encoding.Bytes.Parser GovernanceActionProposal
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "deposit"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"deposit") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govAction") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        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) "GovernanceActionProposal"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'deposit") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"rewardAccount") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'govAction") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData GovernanceActionProposal where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GovernanceActionProposal'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GovernanceActionProposal'deposit x__)
                (Control.DeepSeq.deepseq
                   (_GovernanceActionProposal'rewardAccount x__)
                   (Control.DeepSeq.deepseq
                      (_GovernanceActionProposal'govAction x__)
                      (Control.DeepSeq.deepseq
                         (_GovernanceActionProposal'anchor x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govActionId' @:: Lens' HardForkInitiationAction GovernanceActionId@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' HardForkInitiationAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.protocolVersion' @:: Lens' HardForkInitiationAction ProtocolVersion@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'protocolVersion' @:: Lens' HardForkInitiationAction (Prelude.Maybe ProtocolVersion)@ -}
data HardForkInitiationAction
  = HardForkInitiationAction'_constructor {_HardForkInitiationAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                           _HardForkInitiationAction'protocolVersion :: !(Prelude.Maybe ProtocolVersion),
                                           _HardForkInitiationAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show HardForkInitiationAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'govActionId
           (\ x__ y__ -> x__ {_HardForkInitiationAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'govActionId
           (\ x__ y__ -> x__ {_HardForkInitiationAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "protocolVersion" ProtocolVersion where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'protocolVersion
           (\ x__ y__
              -> x__ {_HardForkInitiationAction'protocolVersion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "maybe'protocolVersion" (Prelude.Maybe ProtocolVersion) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'protocolVersion
           (\ x__ y__
              -> x__ {_HardForkInitiationAction'protocolVersion = y__}))
        Prelude.id
instance Data.ProtoLens.Message HardForkInitiationAction where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.HardForkInitiationAction"
  packedMessageDescriptor _
    = "\n\
      \\CANHardForkInitiationAction\DC2N\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2R\n\
      \\DLEprotocol_version\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.ProtocolVersionR\SIprotocolVersion"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor HardForkInitiationAction
        protocolVersion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_version"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ProtocolVersion)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolVersion")) ::
              Data.ProtoLens.FieldDescriptor HardForkInitiationAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, protocolVersion__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _HardForkInitiationAction'_unknownFields
        (\ x__ y__ -> x__ {_HardForkInitiationAction'_unknownFields = y__})
  defMessage
    = HardForkInitiationAction'_constructor
        {_HardForkInitiationAction'govActionId = Prelude.Nothing,
         _HardForkInitiationAction'protocolVersion = Prelude.Nothing,
         _HardForkInitiationAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          HardForkInitiationAction
          -> Data.ProtoLens.Encoding.Bytes.Parser HardForkInitiationAction
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_version"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolVersion") y x)
                        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) "HardForkInitiationAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'protocolVersion") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData HardForkInitiationAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_HardForkInitiationAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_HardForkInitiationAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_HardForkInitiationAction'protocolVersion x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.cert' @:: Lens' HeavyDelegation Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.delegatePk' @:: Lens' HeavyDelegation Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.issuerPk' @:: Lens' HeavyDelegation Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.omega' @:: Lens' HeavyDelegation Data.Word.Word32@ -}
data HeavyDelegation
  = HeavyDelegation'_constructor {_HeavyDelegation'cert :: !Data.Text.Text,
                                  _HeavyDelegation'delegatePk :: !Data.Text.Text,
                                  _HeavyDelegation'issuerPk :: !Data.Text.Text,
                                  _HeavyDelegation'omega :: !Data.Word.Word32,
                                  _HeavyDelegation'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show HeavyDelegation where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField HeavyDelegation "cert" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HeavyDelegation'cert
           (\ x__ y__ -> x__ {_HeavyDelegation'cert = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField HeavyDelegation "delegatePk" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HeavyDelegation'delegatePk
           (\ x__ y__ -> x__ {_HeavyDelegation'delegatePk = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField HeavyDelegation "issuerPk" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HeavyDelegation'issuerPk
           (\ x__ y__ -> x__ {_HeavyDelegation'issuerPk = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField HeavyDelegation "omega" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HeavyDelegation'omega
           (\ x__ y__ -> x__ {_HeavyDelegation'omega = y__}))
        Prelude.id
instance Data.ProtoLens.Message HeavyDelegation where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.HeavyDelegation"
  packedMessageDescriptor _
    = "\n\
      \\SIHeavyDelegation\DC2\DC2\n\
      \\EOTcert\CAN\SOH \SOH(\tR\EOTcert\DC2\US\n\
      \\vdelegate_pk\CAN\STX \SOH(\tR\n\
      \delegatePk\DC2\ESC\n\
      \\tissuer_pk\CAN\ETX \SOH(\tR\bissuerPk\DC2\DC4\n\
      \\ENQomega\CAN\EOT \SOH(\rR\ENQomega"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        cert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "cert"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"cert")) ::
              Data.ProtoLens.FieldDescriptor HeavyDelegation
        delegatePk__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "delegate_pk"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"delegatePk")) ::
              Data.ProtoLens.FieldDescriptor HeavyDelegation
        issuerPk__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "issuer_pk"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"issuerPk")) ::
              Data.ProtoLens.FieldDescriptor HeavyDelegation
        omega__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "omega"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"omega")) ::
              Data.ProtoLens.FieldDescriptor HeavyDelegation
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, cert__field_descriptor),
           (Data.ProtoLens.Tag 2, delegatePk__field_descriptor),
           (Data.ProtoLens.Tag 3, issuerPk__field_descriptor),
           (Data.ProtoLens.Tag 4, omega__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _HeavyDelegation'_unknownFields
        (\ x__ y__ -> x__ {_HeavyDelegation'_unknownFields = y__})
  defMessage
    = HeavyDelegation'_constructor
        {_HeavyDelegation'cert = Data.ProtoLens.fieldDefault,
         _HeavyDelegation'delegatePk = Data.ProtoLens.fieldDefault,
         _HeavyDelegation'issuerPk = Data.ProtoLens.fieldDefault,
         _HeavyDelegation'omega = Data.ProtoLens.fieldDefault,
         _HeavyDelegation'_unknownFields = []}
  parseMessage
    = let
        loop ::
          HeavyDelegation
          -> Data.ProtoLens.Encoding.Bytes.Parser HeavyDelegation
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "cert"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"cert") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "delegate_pk"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"delegatePk") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "issuer_pk"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"issuerPk") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "omega"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"omega") y x)
                        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) "HeavyDelegation"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"cert") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"delegatePk") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"issuerPk") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((Prelude..)
                               (\ bs
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               Data.Text.Encoding.encodeUtf8 _v))
                   ((Data.Monoid.<>)
                      (let
                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"omega") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                               ((Prelude..)
                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData HeavyDelegation where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_HeavyDelegation'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_HeavyDelegation'cert x__)
                (Control.DeepSeq.deepseq
                   (_HeavyDelegation'delegatePk x__)
                   (Control.DeepSeq.deepseq
                      (_HeavyDelegation'issuerPk x__)
                      (Control.DeepSeq.deepseq (_HeavyDelegation'omega x__) ()))))
{- | Fields :
      -}
data InfoAction
  = InfoAction'_constructor {_InfoAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show InfoAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Message InfoAction where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.InfoAction"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \InfoAction"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag = let in Data.Map.fromList []
  unknownFields
    = Lens.Family2.Unchecked.lens
        _InfoAction'_unknownFields
        (\ x__ y__ -> x__ {_InfoAction'_unknownFields = y__})
  defMessage
    = InfoAction'_constructor {_InfoAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          InfoAction -> Data.ProtoLens.Encoding.Bytes.Parser InfoAction
        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) "InfoAction"
  buildMessage
    = \ _x
        -> Data.ProtoLens.Encoding.Wire.buildFieldSet
             (Lens.Family2.view Data.ProtoLens.unknownFields _x)
instance Control.DeepSeq.NFData InfoAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq (_InfoAction'_unknownFields x__) ()
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.label' @:: Lens' Metadata Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' Metadata Metadatum@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'value' @:: Lens' Metadata (Prelude.Maybe Metadatum)@ -}
data Metadata
  = Metadata'_constructor {_Metadata'label :: !Data.Word.Word64,
                           _Metadata'value :: !(Prelude.Maybe Metadatum),
                           _Metadata'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Metadata where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Metadata "label" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadata'label (\ x__ y__ -> x__ {_Metadata'label = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Metadata "value" Metadatum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadata'value (\ x__ y__ -> x__ {_Metadata'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Metadata "maybe'value" (Prelude.Maybe Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadata'value (\ x__ y__ -> x__ {_Metadata'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Metadata where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Metadata"
  packedMessageDescriptor _
    = "\n\
      \\bMetadata\DC2\DC4\n\
      \\ENQlabel\CAN\SOH \SOH(\EOTR\ENQlabel\DC27\n\
      \\ENQvalue\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.MetadatumR\ENQvalue"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        label__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "label"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"label")) ::
              Data.ProtoLens.FieldDescriptor Metadata
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor Metadata
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, label__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Metadata'_unknownFields
        (\ x__ y__ -> x__ {_Metadata'_unknownFields = y__})
  defMessage
    = Metadata'_constructor
        {_Metadata'label = Data.ProtoLens.fieldDefault,
         _Metadata'value = Prelude.Nothing, _Metadata'_unknownFields = []}
  parseMessage
    = let
        loop :: Metadata -> Data.ProtoLens.Encoding.Bytes.Parser Metadata
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "label"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "Metadata"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"label") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Metadata where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Metadata'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Metadata'label x__)
                (Control.DeepSeq.deepseq (_Metadata'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'metadatum' @:: Lens' Metadatum (Prelude.Maybe Metadatum'Metadatum)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'int' @:: Lens' Metadatum (Prelude.Maybe Data.Int.Int64)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.int' @:: Lens' Metadatum Data.Int.Int64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'bytes' @:: Lens' Metadatum (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.bytes' @:: Lens' Metadatum Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'text' @:: Lens' Metadatum (Prelude.Maybe Data.Text.Text)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.text' @:: Lens' Metadatum Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'array' @:: Lens' Metadatum (Prelude.Maybe MetadatumArray)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.array' @:: Lens' Metadatum MetadatumArray@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'map' @:: Lens' Metadatum (Prelude.Maybe MetadatumMap)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.map' @:: Lens' Metadatum MetadatumMap@ -}
data Metadatum
  = Metadatum'_constructor {_Metadatum'metadatum :: !(Prelude.Maybe Metadatum'Metadatum),
                            _Metadatum'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Metadatum where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data Metadatum'Metadatum
  = Metadatum'Int !Data.Int.Int64 |
    Metadatum'Bytes !Data.ByteString.ByteString |
    Metadatum'Text !Data.Text.Text |
    Metadatum'Array !MetadatumArray |
    Metadatum'Map !MetadatumMap
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField Metadatum "maybe'metadatum" (Prelude.Maybe Metadatum'Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Metadatum "maybe'int" (Prelude.Maybe Data.Int.Int64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Int x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Int y__))
instance Data.ProtoLens.Field.HasField Metadatum "int" Data.Int.Int64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Int x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Int y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'bytes" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Bytes x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Bytes y__))
instance Data.ProtoLens.Field.HasField Metadatum "bytes" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Bytes x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Bytes y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'text" (Prelude.Maybe Data.Text.Text) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Text x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Text y__))
instance Data.ProtoLens.Field.HasField Metadatum "text" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Text x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Text y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'array" (Prelude.Maybe MetadatumArray) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Array x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Array y__))
instance Data.ProtoLens.Field.HasField Metadatum "array" MetadatumArray where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Array x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Array y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'map" (Prelude.Maybe MetadatumMap) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Map x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Map y__))
instance Data.ProtoLens.Field.HasField Metadatum "map" MetadatumMap where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Map x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Map y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Message Metadatum where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Metadatum"
  packedMessageDescriptor _
    = "\n\
      \\tMetadatum\DC2\DC2\n\
      \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\SYN\n\
      \\ENQbytes\CAN\STX \SOH(\fH\NULR\ENQbytes\DC2\DC4\n\
      \\EOTtext\CAN\ETX \SOH(\tH\NULR\EOTtext\DC2>\n\
      \\ENQarray\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.MetadatumArrayH\NULR\ENQarray\DC28\n\
      \\ETXmap\CAN\ENQ \SOH(\v2$.utxorpc.v1beta.cardano.MetadatumMapH\NULR\ETXmapB\v\n\
      \\tmetadatum"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        int__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'int")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        bytes__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "bytes"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bytes")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        text__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "text"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'text")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        array__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "array"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MetadatumArray)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'array")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        map__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "map"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MetadatumMap)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'map")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, int__field_descriptor),
           (Data.ProtoLens.Tag 2, bytes__field_descriptor),
           (Data.ProtoLens.Tag 3, text__field_descriptor),
           (Data.ProtoLens.Tag 4, array__field_descriptor),
           (Data.ProtoLens.Tag 5, map__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Metadatum'_unknownFields
        (\ x__ y__ -> x__ {_Metadatum'_unknownFields = y__})
  defMessage
    = Metadatum'_constructor
        {_Metadatum'metadatum = Prelude.Nothing,
         _Metadatum'_unknownFields = []}
  parseMessage
    = let
        loop :: Metadatum -> Data.ProtoLens.Encoding.Bytes.Parser Metadatum
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"int") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "bytes"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bytes") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "text"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"text") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "array"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"array") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "map"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"map") y x)
                        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) "Metadatum"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'metadatum") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (Metadatum'Int v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral v)
                (Prelude.Just (Metadatum'Bytes v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (Metadatum'Text v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.Text.Encoding.encodeUtf8 v)
                (Prelude.Just (Metadatum'Array v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (Metadatum'Map v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData Metadatum where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Metadatum'_unknownFields x__)
             (Control.DeepSeq.deepseq (_Metadatum'metadatum x__) ())
instance Control.DeepSeq.NFData Metadatum'Metadatum where
  rnf (Metadatum'Int x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Bytes x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Text x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Array x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Map x__) = Control.DeepSeq.rnf x__
_Metadatum'Int ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum Data.Int.Int64
_Metadatum'Int
  = Data.ProtoLens.Prism.prism'
      Metadatum'Int
      (\ p__
         -> case p__ of
              (Metadatum'Int p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Bytes ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum Data.ByteString.ByteString
_Metadatum'Bytes
  = Data.ProtoLens.Prism.prism'
      Metadatum'Bytes
      (\ p__
         -> case p__ of
              (Metadatum'Bytes p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Text ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum Data.Text.Text
_Metadatum'Text
  = Data.ProtoLens.Prism.prism'
      Metadatum'Text
      (\ p__
         -> case p__ of
              (Metadatum'Text p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Array ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum MetadatumArray
_Metadatum'Array
  = Data.ProtoLens.Prism.prism'
      Metadatum'Array
      (\ p__
         -> case p__ of
              (Metadatum'Array p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Map ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum MetadatumMap
_Metadatum'Map
  = Data.ProtoLens.Prism.prism'
      Metadatum'Map
      (\ p__
         -> case p__ of
              (Metadatum'Map p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.items' @:: Lens' MetadatumArray [Metadatum]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'items' @:: Lens' MetadatumArray (Data.Vector.Vector Metadatum)@ -}
data MetadatumArray
  = MetadatumArray'_constructor {_MetadatumArray'items :: !(Data.Vector.Vector Metadatum),
                                 _MetadatumArray'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MetadatumArray where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MetadatumArray "items" [Metadatum] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumArray'items
           (\ x__ y__ -> x__ {_MetadatumArray'items = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField MetadatumArray "vec'items" (Data.Vector.Vector Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumArray'items
           (\ x__ y__ -> x__ {_MetadatumArray'items = y__}))
        Prelude.id
instance Data.ProtoLens.Message MetadatumArray where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.MetadatumArray"
  packedMessageDescriptor _
    = "\n\
      \\SOMetadatumArray\DC27\n\
      \\ENQitems\CAN\SOH \ETX(\v2!.utxorpc.v1beta.cardano.MetadatumR\ENQitems"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        items__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "items"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"items")) ::
              Data.ProtoLens.FieldDescriptor MetadatumArray
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, items__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MetadatumArray'_unknownFields
        (\ x__ y__ -> x__ {_MetadatumArray'_unknownFields = y__})
  defMessage
    = MetadatumArray'_constructor
        {_MetadatumArray'items = Data.Vector.Generic.empty,
         _MetadatumArray'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MetadatumArray
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Metadatum
             -> Data.ProtoLens.Encoding.Bytes.Parser MetadatumArray
        loop x mutable'items
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'items)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'items") frozen'items x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "items"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'items 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'items
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'items)
          "MetadatumArray"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'items") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData MetadatumArray where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MetadatumArray'_unknownFields x__)
             (Control.DeepSeq.deepseq (_MetadatumArray'items x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.pairs' @:: Lens' MetadatumMap [MetadatumPair]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'pairs' @:: Lens' MetadatumMap (Data.Vector.Vector MetadatumPair)@ -}
data MetadatumMap
  = MetadatumMap'_constructor {_MetadatumMap'pairs :: !(Data.Vector.Vector MetadatumPair),
                               _MetadatumMap'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MetadatumMap where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MetadatumMap "pairs" [MetadatumPair] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumMap'pairs (\ x__ y__ -> x__ {_MetadatumMap'pairs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField MetadatumMap "vec'pairs" (Data.Vector.Vector MetadatumPair) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumMap'pairs (\ x__ y__ -> x__ {_MetadatumMap'pairs = y__}))
        Prelude.id
instance Data.ProtoLens.Message MetadatumMap where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.MetadatumMap"
  packedMessageDescriptor _
    = "\n\
      \\fMetadatumMap\DC2;\n\
      \\ENQpairs\CAN\SOH \ETX(\v2%.utxorpc.v1beta.cardano.MetadatumPairR\ENQpairs"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        pairs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pairs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MetadatumPair)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"pairs")) ::
              Data.ProtoLens.FieldDescriptor MetadatumMap
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, pairs__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MetadatumMap'_unknownFields
        (\ x__ y__ -> x__ {_MetadatumMap'_unknownFields = y__})
  defMessage
    = MetadatumMap'_constructor
        {_MetadatumMap'pairs = Data.Vector.Generic.empty,
         _MetadatumMap'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MetadatumMap
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld MetadatumPair
             -> Data.ProtoLens.Encoding.Bytes.Parser MetadatumMap
        loop x mutable'pairs
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'pairs)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'pairs") frozen'pairs x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "pairs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'pairs 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'pairs
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'pairs)
          "MetadatumMap"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'pairs") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData MetadatumMap where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MetadatumMap'_unknownFields x__)
             (Control.DeepSeq.deepseq (_MetadatumMap'pairs x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' MetadatumPair Metadatum@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'key' @:: Lens' MetadatumPair (Prelude.Maybe Metadatum)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' MetadatumPair Metadatum@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'value' @:: Lens' MetadatumPair (Prelude.Maybe Metadatum)@ -}
data MetadatumPair
  = MetadatumPair'_constructor {_MetadatumPair'key :: !(Prelude.Maybe Metadatum),
                                _MetadatumPair'value :: !(Prelude.Maybe Metadatum),
                                _MetadatumPair'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MetadatumPair where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MetadatumPair "key" Metadatum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'key (\ x__ y__ -> x__ {_MetadatumPair'key = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField MetadatumPair "maybe'key" (Prelude.Maybe Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'key (\ x__ y__ -> x__ {_MetadatumPair'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MetadatumPair "value" Metadatum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'value
           (\ x__ y__ -> x__ {_MetadatumPair'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField MetadatumPair "maybe'value" (Prelude.Maybe Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'value
           (\ x__ y__ -> x__ {_MetadatumPair'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message MetadatumPair where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.MetadatumPair"
  packedMessageDescriptor _
    = "\n\
      \\rMetadatumPair\DC23\n\
      \\ETXkey\CAN\SOH \SOH(\v2!.utxorpc.v1beta.cardano.MetadatumR\ETXkey\DC27\n\
      \\ENQvalue\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.MetadatumR\ENQvalue"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'key")) ::
              Data.ProtoLens.FieldDescriptor MetadatumPair
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor MetadatumPair
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MetadatumPair'_unknownFields
        (\ x__ y__ -> x__ {_MetadatumPair'_unknownFields = y__})
  defMessage
    = MetadatumPair'_constructor
        {_MetadatumPair'key = Prelude.Nothing,
         _MetadatumPair'value = Prelude.Nothing,
         _MetadatumPair'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MetadatumPair -> Data.ProtoLens.Encoding.Bytes.Parser MetadatumPair
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "MetadatumPair"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'key") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData MetadatumPair where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MetadatumPair'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_MetadatumPair'key x__)
                (Control.DeepSeq.deepseq (_MetadatumPair'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.from' @:: Lens' MirCert MirSource@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.to' @:: Lens' MirCert [MirTarget]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'to' @:: Lens' MirCert (Data.Vector.Vector MirTarget)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.otherPot' @:: Lens' MirCert Data.Word.Word64@ -}
data MirCert
  = MirCert'_constructor {_MirCert'from :: !MirSource,
                          _MirCert'to :: !(Data.Vector.Vector MirTarget),
                          _MirCert'otherPot :: !Data.Word.Word64,
                          _MirCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MirCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MirCert "from" MirSource where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'from (\ x__ y__ -> x__ {_MirCert'from = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MirCert "to" [MirTarget] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'to (\ x__ y__ -> x__ {_MirCert'to = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField MirCert "vec'to" (Data.Vector.Vector MirTarget) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'to (\ x__ y__ -> x__ {_MirCert'to = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MirCert "otherPot" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'otherPot (\ x__ y__ -> x__ {_MirCert'otherPot = y__}))
        Prelude.id
instance Data.ProtoLens.Message MirCert where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.MirCert"
  packedMessageDescriptor _
    = "\n\
      \\aMirCert\DC25\n\
      \\EOTfrom\CAN\SOH \SOH(\SO2!.utxorpc.v1beta.cardano.MirSourceR\EOTfrom\DC21\n\
      \\STXto\CAN\STX \ETX(\v2!.utxorpc.v1beta.cardano.MirTargetR\STXto\DC2\ESC\n\
      \\tother_pot\CAN\ETX \SOH(\EOTR\botherPot"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        from__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "from"
              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
                 Data.ProtoLens.FieldTypeDescriptor MirSource)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"from")) ::
              Data.ProtoLens.FieldDescriptor MirCert
        to__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "to"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MirTarget)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"to")) ::
              Data.ProtoLens.FieldDescriptor MirCert
        otherPot__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "other_pot"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"otherPot")) ::
              Data.ProtoLens.FieldDescriptor MirCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, from__field_descriptor),
           (Data.ProtoLens.Tag 2, to__field_descriptor),
           (Data.ProtoLens.Tag 3, otherPot__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MirCert'_unknownFields
        (\ x__ y__ -> x__ {_MirCert'_unknownFields = y__})
  defMessage
    = MirCert'_constructor
        {_MirCert'from = Data.ProtoLens.fieldDefault,
         _MirCert'to = Data.Vector.Generic.empty,
         _MirCert'otherPot = Data.ProtoLens.fieldDefault,
         _MirCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MirCert
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld MirTarget
             -> Data.ProtoLens.Encoding.Bytes.Parser MirCert
        loop x mutable'to
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'to <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'to)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'to") frozen'to x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.toEnum
                                          (Prelude.fmap
                                             Prelude.fromIntegral
                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
                                       "from"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"from") y x)
                                  mutable'to
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "to"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'to y)
                                loop x v
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "other_pot"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"otherPot") y x)
                                  mutable'to
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'to
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'to <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                              Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'to)
          "MirCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"from") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
                         Prelude.fromEnum _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'to") _x))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"otherPot") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData MirCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MirCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_MirCert'from x__)
                (Control.DeepSeq.deepseq
                   (_MirCert'to x__)
                   (Control.DeepSeq.deepseq (_MirCert'otherPot x__) ())))
newtype MirSource'UnrecognizedValue
  = MirSource'UnrecognizedValue Data.Int.Int32
  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
data MirSource
  = MIR_SOURCE_UNSPECIFIED |
    MIR_SOURCE_RESERVES |
    MIR_SOURCE_TREASURY |
    MirSource'Unrecognized !MirSource'UnrecognizedValue
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.MessageEnum MirSource where
  maybeToEnum 0 = Prelude.Just MIR_SOURCE_UNSPECIFIED
  maybeToEnum 1 = Prelude.Just MIR_SOURCE_RESERVES
  maybeToEnum 2 = Prelude.Just MIR_SOURCE_TREASURY
  maybeToEnum k
    = Prelude.Just
        (MirSource'Unrecognized
           (MirSource'UnrecognizedValue (Prelude.fromIntegral k)))
  showEnum MIR_SOURCE_UNSPECIFIED = "MIR_SOURCE_UNSPECIFIED"
  showEnum MIR_SOURCE_RESERVES = "MIR_SOURCE_RESERVES"
  showEnum MIR_SOURCE_TREASURY = "MIR_SOURCE_TREASURY"
  showEnum (MirSource'Unrecognized (MirSource'UnrecognizedValue k))
    = Prelude.show k
  readEnum k
    | (Prelude.==) k "MIR_SOURCE_UNSPECIFIED"
    = Prelude.Just MIR_SOURCE_UNSPECIFIED
    | (Prelude.==) k "MIR_SOURCE_RESERVES"
    = Prelude.Just MIR_SOURCE_RESERVES
    | (Prelude.==) k "MIR_SOURCE_TREASURY"
    = Prelude.Just MIR_SOURCE_TREASURY
    | Prelude.otherwise
    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
instance Prelude.Bounded MirSource where
  minBound = MIR_SOURCE_UNSPECIFIED
  maxBound = MIR_SOURCE_TREASURY
instance Prelude.Enum MirSource where
  toEnum k__
    = Prelude.maybe
        (Prelude.error
           ((Prelude.++)
              "toEnum: unknown value for enum MirSource: " (Prelude.show k__)))
        Prelude.id (Data.ProtoLens.maybeToEnum k__)
  fromEnum MIR_SOURCE_UNSPECIFIED = 0
  fromEnum MIR_SOURCE_RESERVES = 1
  fromEnum MIR_SOURCE_TREASURY = 2
  fromEnum (MirSource'Unrecognized (MirSource'UnrecognizedValue k))
    = Prelude.fromIntegral k
  succ MIR_SOURCE_TREASURY
    = Prelude.error
        "MirSource.succ: bad argument MIR_SOURCE_TREASURY. This value would be out of bounds."
  succ MIR_SOURCE_UNSPECIFIED = MIR_SOURCE_RESERVES
  succ MIR_SOURCE_RESERVES = MIR_SOURCE_TREASURY
  succ (MirSource'Unrecognized _)
    = Prelude.error "MirSource.succ: bad argument: unrecognized value"
  pred MIR_SOURCE_UNSPECIFIED
    = Prelude.error
        "MirSource.pred: bad argument MIR_SOURCE_UNSPECIFIED. This value would be out of bounds."
  pred MIR_SOURCE_RESERVES = MIR_SOURCE_UNSPECIFIED
  pred MIR_SOURCE_TREASURY = MIR_SOURCE_RESERVES
  pred (MirSource'Unrecognized _)
    = Prelude.error "MirSource.pred: bad argument: unrecognized value"
  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 MirSource where
  fieldDefault = MIR_SOURCE_UNSPECIFIED
instance Control.DeepSeq.NFData MirSource where
  rnf x__ = Prelude.seq x__ ()
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' MirTarget StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' MirTarget (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.deltaCoin' @:: Lens' MirTarget BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'deltaCoin' @:: Lens' MirTarget (Prelude.Maybe BigInt)@ -}
data MirTarget
  = MirTarget'_constructor {_MirTarget'stakeCredential :: !(Prelude.Maybe StakeCredential),
                            _MirTarget'deltaCoin :: !(Prelude.Maybe BigInt),
                            _MirTarget'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MirTarget where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MirTarget "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirTarget'stakeCredential
           (\ x__ y__ -> x__ {_MirTarget'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField MirTarget "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirTarget'stakeCredential
           (\ x__ y__ -> x__ {_MirTarget'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MirTarget "deltaCoin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirTarget'deltaCoin
           (\ x__ y__ -> x__ {_MirTarget'deltaCoin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField MirTarget "maybe'deltaCoin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirTarget'deltaCoin
           (\ x__ y__ -> x__ {_MirTarget'deltaCoin = y__}))
        Prelude.id
instance Data.ProtoLens.Message MirTarget where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.MirTarget"
  packedMessageDescriptor _
    = "\n\
      \\tMirTarget\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2=\n\
      \\n\
      \delta_coin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\tdeltaCoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor MirTarget
        deltaCoin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "delta_coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'deltaCoin")) ::
              Data.ProtoLens.FieldDescriptor MirTarget
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, deltaCoin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MirTarget'_unknownFields
        (\ x__ y__ -> x__ {_MirTarget'_unknownFields = y__})
  defMessage
    = MirTarget'_constructor
        {_MirTarget'stakeCredential = Prelude.Nothing,
         _MirTarget'deltaCoin = Prelude.Nothing,
         _MirTarget'_unknownFields = []}
  parseMessage
    = let
        loop :: MirTarget -> Data.ProtoLens.Encoding.Bytes.Parser MirTarget
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "delta_coin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"deltaCoin") y x)
                        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) "MirTarget"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'deltaCoin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData MirTarget where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MirTarget'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_MirTarget'stakeCredential x__)
                (Control.DeepSeq.deepseq (_MirTarget'deltaCoin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.policyId' @:: Lens' Multiasset Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.assets' @:: Lens' Multiasset [Asset]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'assets' @:: Lens' Multiasset (Data.Vector.Vector Asset)@ -}
data Multiasset
  = Multiasset'_constructor {_Multiasset'policyId :: !Data.ByteString.ByteString,
                             _Multiasset'assets :: !(Data.Vector.Vector Asset),
                             _Multiasset'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Multiasset where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Multiasset "policyId" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'policyId
           (\ x__ y__ -> x__ {_Multiasset'policyId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Multiasset "assets" [Asset] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'assets (\ x__ y__ -> x__ {_Multiasset'assets = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Multiasset "vec'assets" (Data.Vector.Vector Asset) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'assets (\ x__ y__ -> x__ {_Multiasset'assets = y__}))
        Prelude.id
instance Data.ProtoLens.Message Multiasset where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Multiasset"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \Multiasset\DC2\ESC\n\
      \\tpolicy_id\CAN\SOH \SOH(\fR\bpolicyId\DC25\n\
      \\ACKassets\CAN\STX \ETX(\v2\GS.utxorpc.v1beta.cardano.AssetR\ACKassets"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        policyId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_id"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"policyId")) ::
              Data.ProtoLens.FieldDescriptor Multiasset
        assets__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "assets"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Asset)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"assets")) ::
              Data.ProtoLens.FieldDescriptor Multiasset
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, policyId__field_descriptor),
           (Data.ProtoLens.Tag 2, assets__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Multiasset'_unknownFields
        (\ x__ y__ -> x__ {_Multiasset'_unknownFields = y__})
  defMessage
    = Multiasset'_constructor
        {_Multiasset'policyId = Data.ProtoLens.fieldDefault,
         _Multiasset'assets = Data.Vector.Generic.empty,
         _Multiasset'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Multiasset
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Asset
             -> Data.ProtoLens.Encoding.Bytes.Parser Multiasset
        loop x mutable'assets
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'assets)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'assets") frozen'assets x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyId") y x)
                                  mutable'assets
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "assets"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'assets 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'assets
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'assets)
          "Multiasset"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"policyId") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'assets") _x))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Multiasset where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Multiasset'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Multiasset'policyId x__)
                (Control.DeepSeq.deepseq (_Multiasset'assets x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'nativeScript' @:: Lens' NativeScript (Prelude.Maybe NativeScript'NativeScript)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'scriptPubkeyHash' @:: Lens' NativeScript (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scriptPubkeyHash' @:: Lens' NativeScript Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'scriptAll' @:: Lens' NativeScript (Prelude.Maybe NativeScriptList)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scriptAll' @:: Lens' NativeScript NativeScriptList@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'scriptAny' @:: Lens' NativeScript (Prelude.Maybe NativeScriptList)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scriptAny' @:: Lens' NativeScript NativeScriptList@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'scriptNOfK' @:: Lens' NativeScript (Prelude.Maybe ScriptNOfK)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scriptNOfK' @:: Lens' NativeScript ScriptNOfK@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'invalidBefore' @:: Lens' NativeScript (Prelude.Maybe Data.Word.Word64)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.invalidBefore' @:: Lens' NativeScript Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'invalidHereafter' @:: Lens' NativeScript (Prelude.Maybe Data.Word.Word64)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.invalidHereafter' @:: Lens' NativeScript Data.Word.Word64@ -}
data NativeScript
  = NativeScript'_constructor {_NativeScript'nativeScript :: !(Prelude.Maybe NativeScript'NativeScript),
                               _NativeScript'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NativeScript where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data NativeScript'NativeScript
  = NativeScript'ScriptPubkeyHash !Data.ByteString.ByteString |
    NativeScript'ScriptAll !NativeScriptList |
    NativeScript'ScriptAny !NativeScriptList |
    NativeScript'ScriptNOfK !ScriptNOfK |
    NativeScript'InvalidBefore !Data.Word.Word64 |
    NativeScript'InvalidHereafter !Data.Word.Word64
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField NativeScript "maybe'nativeScript" (Prelude.Maybe NativeScript'NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptPubkeyHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptPubkeyHash x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptPubkeyHash y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptPubkeyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptPubkeyHash x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptPubkeyHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptAll" (Prelude.Maybe NativeScriptList) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptAll x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptAll y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptAll" NativeScriptList where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptAll x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptAll y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptAny" (Prelude.Maybe NativeScriptList) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptAny x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptAny y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptAny" NativeScriptList where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptAny x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptAny y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptNOfK" (Prelude.Maybe ScriptNOfK) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptNOfK x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptNOfK y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptNOfK" ScriptNOfK where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptNOfK x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptNOfK y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'invalidBefore" (Prelude.Maybe Data.Word.Word64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'InvalidBefore x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'InvalidBefore y__))
instance Data.ProtoLens.Field.HasField NativeScript "invalidBefore" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'InvalidBefore x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'InvalidBefore y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'invalidHereafter" (Prelude.Maybe Data.Word.Word64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'InvalidHereafter x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'InvalidHereafter y__))
instance Data.ProtoLens.Field.HasField NativeScript "invalidHereafter" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'InvalidHereafter x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'InvalidHereafter y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message NativeScript where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.NativeScript"
  packedMessageDescriptor _
    = "\n\
      \\fNativeScript\DC2.\n\
      \\DC2script_pubkey_hash\CAN\SOH \SOH(\fH\NULR\DLEscriptPubkeyHash\DC2I\n\
      \\n\
      \script_all\CAN\STX \SOH(\v2(.utxorpc.v1beta.cardano.NativeScriptListH\NULR\tscriptAll\DC2I\n\
      \\n\
      \script_any\CAN\ETX \SOH(\v2(.utxorpc.v1beta.cardano.NativeScriptListH\NULR\tscriptAny\DC2G\n\
      \\rscript_n_of_k\CAN\EOT \SOH(\v2\".utxorpc.v1beta.cardano.ScriptNOfKH\NULR\n\
      \scriptNOfK\DC2'\n\
      \\SOinvalid_before\CAN\ENQ \SOH(\EOTH\NULR\rinvalidBefore\DC2-\n\
      \\DC1invalid_hereafter\CAN\ACK \SOH(\EOTH\NULR\DLEinvalidHereafterB\SI\n\
      \\rnative_script"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        scriptPubkeyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_pubkey_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptPubkeyHash")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        scriptAll__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_all"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScriptList)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptAll")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        scriptAny__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_any"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScriptList)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptAny")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        scriptNOfK__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_n_of_k"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ScriptNOfK)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptNOfK")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        invalidBefore__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "invalid_before"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'invalidBefore")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        invalidHereafter__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "invalid_hereafter"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'invalidHereafter")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, scriptPubkeyHash__field_descriptor),
           (Data.ProtoLens.Tag 2, scriptAll__field_descriptor),
           (Data.ProtoLens.Tag 3, scriptAny__field_descriptor),
           (Data.ProtoLens.Tag 4, scriptNOfK__field_descriptor),
           (Data.ProtoLens.Tag 5, invalidBefore__field_descriptor),
           (Data.ProtoLens.Tag 6, invalidHereafter__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NativeScript'_unknownFields
        (\ x__ y__ -> x__ {_NativeScript'_unknownFields = y__})
  defMessage
    = NativeScript'_constructor
        {_NativeScript'nativeScript = Prelude.Nothing,
         _NativeScript'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NativeScript -> Data.ProtoLens.Encoding.Bytes.Parser NativeScript
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "script_pubkey_hash"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"scriptPubkeyHash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script_all"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptAll") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script_any"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptAny") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script_n_of_k"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptNOfK") y x)
                        40
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "invalid_before"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"invalidBefore") y x)
                        48
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "invalid_hereafter"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"invalidHereafter") y x)
                        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) "NativeScript"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'nativeScript") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (NativeScript'ScriptPubkeyHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (NativeScript'ScriptAll v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (NativeScript'ScriptAny v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (NativeScript'ScriptNOfK v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (NativeScript'InvalidBefore v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt v)
                (Prelude.Just (NativeScript'InvalidHereafter v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData NativeScript where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NativeScript'_unknownFields x__)
             (Control.DeepSeq.deepseq (_NativeScript'nativeScript x__) ())
instance Control.DeepSeq.NFData NativeScript'NativeScript where
  rnf (NativeScript'ScriptPubkeyHash x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'ScriptAll x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'ScriptAny x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'ScriptNOfK x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'InvalidBefore x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'InvalidHereafter x__) = Control.DeepSeq.rnf x__
_NativeScript'ScriptPubkeyHash ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript Data.ByteString.ByteString
_NativeScript'ScriptPubkeyHash
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptPubkeyHash
      (\ p__
         -> case p__ of
              (NativeScript'ScriptPubkeyHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'ScriptAll ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript NativeScriptList
_NativeScript'ScriptAll
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptAll
      (\ p__
         -> case p__ of
              (NativeScript'ScriptAll p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'ScriptAny ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript NativeScriptList
_NativeScript'ScriptAny
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptAny
      (\ p__
         -> case p__ of
              (NativeScript'ScriptAny p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'ScriptNOfK ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript ScriptNOfK
_NativeScript'ScriptNOfK
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptNOfK
      (\ p__
         -> case p__ of
              (NativeScript'ScriptNOfK p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'InvalidBefore ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript Data.Word.Word64
_NativeScript'InvalidBefore
  = Data.ProtoLens.Prism.prism'
      NativeScript'InvalidBefore
      (\ p__
         -> case p__ of
              (NativeScript'InvalidBefore p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'InvalidHereafter ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript Data.Word.Word64
_NativeScript'InvalidHereafter
  = Data.ProtoLens.Prism.prism'
      NativeScript'InvalidHereafter
      (\ p__
         -> case p__ of
              (NativeScript'InvalidHereafter p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.items' @:: Lens' NativeScriptList [NativeScript]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'items' @:: Lens' NativeScriptList (Data.Vector.Vector NativeScript)@ -}
data NativeScriptList
  = NativeScriptList'_constructor {_NativeScriptList'items :: !(Data.Vector.Vector NativeScript),
                                   _NativeScriptList'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NativeScriptList where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NativeScriptList "items" [NativeScript] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScriptList'items
           (\ x__ y__ -> x__ {_NativeScriptList'items = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField NativeScriptList "vec'items" (Data.Vector.Vector NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScriptList'items
           (\ x__ y__ -> x__ {_NativeScriptList'items = y__}))
        Prelude.id
instance Data.ProtoLens.Message NativeScriptList where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.NativeScriptList"
  packedMessageDescriptor _
    = "\n\
      \\DLENativeScriptList\DC2:\n\
      \\ENQitems\CAN\SOH \ETX(\v2$.utxorpc.v1beta.cardano.NativeScriptR\ENQitems"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        items__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "items"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScript)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"items")) ::
              Data.ProtoLens.FieldDescriptor NativeScriptList
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, items__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NativeScriptList'_unknownFields
        (\ x__ y__ -> x__ {_NativeScriptList'_unknownFields = y__})
  defMessage
    = NativeScriptList'_constructor
        {_NativeScriptList'items = Data.Vector.Generic.empty,
         _NativeScriptList'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NativeScriptList
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NativeScript
             -> Data.ProtoLens.Encoding.Bytes.Parser NativeScriptList
        loop x mutable'items
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'items)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'items") frozen'items x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "items"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'items 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'items
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'items)
          "NativeScriptList"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'items") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData NativeScriptList where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NativeScriptList'_unknownFields x__)
             (Control.DeepSeq.deepseq (_NativeScriptList'items x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeColdCredential' @:: Lens' NewCommitteeCredentials StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeColdCredential' @:: Lens' NewCommitteeCredentials (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.expiresEpoch' @:: Lens' NewCommitteeCredentials Data.Word.Word32@ -}
data NewCommitteeCredentials
  = NewCommitteeCredentials'_constructor {_NewCommitteeCredentials'committeeColdCredential :: !(Prelude.Maybe StakeCredential),
                                          _NewCommitteeCredentials'expiresEpoch :: !Data.Word.Word32,
                                          _NewCommitteeCredentials'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NewCommitteeCredentials where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NewCommitteeCredentials "committeeColdCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewCommitteeCredentials'committeeColdCredential
           (\ x__ y__
              -> x__ {_NewCommitteeCredentials'committeeColdCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NewCommitteeCredentials "maybe'committeeColdCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewCommitteeCredentials'committeeColdCredential
           (\ x__ y__
              -> x__ {_NewCommitteeCredentials'committeeColdCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField NewCommitteeCredentials "expiresEpoch" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewCommitteeCredentials'expiresEpoch
           (\ x__ y__ -> x__ {_NewCommitteeCredentials'expiresEpoch = y__}))
        Prelude.id
instance Data.ProtoLens.Message NewCommitteeCredentials where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.NewCommitteeCredentials"
  packedMessageDescriptor _
    = "\n\
      \\ETBNewCommitteeCredentials\DC2c\n\
      \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2#\n\
      \\rexpires_epoch\CAN\STX \SOH(\rR\fexpiresEpoch"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        committeeColdCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_cold_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeColdCredential")) ::
              Data.ProtoLens.FieldDescriptor NewCommitteeCredentials
        expiresEpoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "expires_epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"expiresEpoch")) ::
              Data.ProtoLens.FieldDescriptor NewCommitteeCredentials
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, committeeColdCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, expiresEpoch__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NewCommitteeCredentials'_unknownFields
        (\ x__ y__ -> x__ {_NewCommitteeCredentials'_unknownFields = y__})
  defMessage
    = NewCommitteeCredentials'_constructor
        {_NewCommitteeCredentials'committeeColdCredential = Prelude.Nothing,
         _NewCommitteeCredentials'expiresEpoch = Data.ProtoLens.fieldDefault,
         _NewCommitteeCredentials'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NewCommitteeCredentials
          -> Data.ProtoLens.Encoding.Bytes.Parser NewCommitteeCredentials
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_cold_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeColdCredential") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "expires_epoch"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"expiresEpoch") y x)
                        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) "NewCommitteeCredentials"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'committeeColdCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"expiresEpoch") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData NewCommitteeCredentials where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NewCommitteeCredentials'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_NewCommitteeCredentials'committeeColdCredential x__)
                (Control.DeepSeq.deepseq
                   (_NewCommitteeCredentials'expiresEpoch x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govActionId' @:: Lens' NewConstitutionAction GovernanceActionId@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' NewConstitutionAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.constitution' @:: Lens' NewConstitutionAction Constitution@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'constitution' @:: Lens' NewConstitutionAction (Prelude.Maybe Constitution)@ -}
data NewConstitutionAction
  = NewConstitutionAction'_constructor {_NewConstitutionAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                        _NewConstitutionAction'constitution :: !(Prelude.Maybe Constitution),
                                        _NewConstitutionAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NewConstitutionAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NewConstitutionAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'govActionId
           (\ x__ y__ -> x__ {_NewConstitutionAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NewConstitutionAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'govActionId
           (\ x__ y__ -> x__ {_NewConstitutionAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField NewConstitutionAction "constitution" Constitution where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'constitution
           (\ x__ y__ -> x__ {_NewConstitutionAction'constitution = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NewConstitutionAction "maybe'constitution" (Prelude.Maybe Constitution) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'constitution
           (\ x__ y__ -> x__ {_NewConstitutionAction'constitution = y__}))
        Prelude.id
instance Data.ProtoLens.Message NewConstitutionAction where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.NewConstitutionAction"
  packedMessageDescriptor _
    = "\n\
      \\NAKNewConstitutionAction\DC2N\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2H\n\
      \\fconstitution\CAN\STX \SOH(\v2$.utxorpc.v1beta.cardano.ConstitutionR\fconstitution"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor NewConstitutionAction
        constitution__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "constitution"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Constitution)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'constitution")) ::
              Data.ProtoLens.FieldDescriptor NewConstitutionAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, constitution__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NewConstitutionAction'_unknownFields
        (\ x__ y__ -> x__ {_NewConstitutionAction'_unknownFields = y__})
  defMessage
    = NewConstitutionAction'_constructor
        {_NewConstitutionAction'govActionId = Prelude.Nothing,
         _NewConstitutionAction'constitution = Prelude.Nothing,
         _NewConstitutionAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NewConstitutionAction
          -> Data.ProtoLens.Encoding.Bytes.Parser NewConstitutionAction
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "constitution"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"constitution") y x)
                        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) "NewConstitutionAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'constitution") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData NewConstitutionAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NewConstitutionAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_NewConstitutionAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_NewConstitutionAction'constitution x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govActionId' @:: Lens' NoConfidenceAction GovernanceActionId@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' NoConfidenceAction (Prelude.Maybe GovernanceActionId)@ -}
data NoConfidenceAction
  = NoConfidenceAction'_constructor {_NoConfidenceAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                     _NoConfidenceAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NoConfidenceAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NoConfidenceAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NoConfidenceAction'govActionId
           (\ x__ y__ -> x__ {_NoConfidenceAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NoConfidenceAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NoConfidenceAction'govActionId
           (\ x__ y__ -> x__ {_NoConfidenceAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Message NoConfidenceAction where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.NoConfidenceAction"
  packedMessageDescriptor _
    = "\n\
      \\DC2NoConfidenceAction\DC2N\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor NoConfidenceAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NoConfidenceAction'_unknownFields
        (\ x__ y__ -> x__ {_NoConfidenceAction'_unknownFields = y__})
  defMessage
    = NoConfidenceAction'_constructor
        {_NoConfidenceAction'govActionId = Prelude.Nothing,
         _NoConfidenceAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NoConfidenceAction
          -> Data.ProtoLens.Encoding.Bytes.Parser NoConfidenceAction
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        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) "NoConfidenceAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData NoConfidenceAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NoConfidenceAction'_unknownFields x__)
             (Control.DeepSeq.deepseq (_NoConfidenceAction'govActionId x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coinsPerUtxoByte' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coinsPerUtxoByte' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxTxSize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minFeeCoefficient' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'minFeeCoefficient' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minFeeConstant' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'minFeeConstant' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxBlockBodySize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxBlockHeaderSize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeKeyDeposit' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeKeyDeposit' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolDeposit' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolDeposit' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolRetirementEpochBound' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.desiredNumberOfPools' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolInfluence' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolInfluence' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.monetaryExpansion' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'monetaryExpansion' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.treasuryExpansion' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'treasuryExpansion' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minPoolCost' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'minPoolCost' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.protocolVersion' @:: Lens' PParams ProtocolVersion@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'protocolVersion' @:: Lens' PParams (Prelude.Maybe ProtocolVersion)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxValueSize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.collateralPercentage' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxCollateralInputs' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.costModels' @:: Lens' PParams CostModels@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'costModels' @:: Lens' PParams (Prelude.Maybe CostModels)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.prices' @:: Lens' PParams ExPrices@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'prices' @:: Lens' PParams (Prelude.Maybe ExPrices)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxExecutionUnitsPerTransaction' @:: Lens' PParams ExUnits@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'maxExecutionUnitsPerTransaction' @:: Lens' PParams (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maxExecutionUnitsPerBlock' @:: Lens' PParams ExUnits@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'maxExecutionUnitsPerBlock' @:: Lens' PParams (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minFeeScriptRefCostPerByte' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'minFeeScriptRefCostPerByte' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolVotingThresholds' @:: Lens' PParams VotingThresholds@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolVotingThresholds' @:: Lens' PParams (Prelude.Maybe VotingThresholds)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepVotingThresholds' @:: Lens' PParams VotingThresholds@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drepVotingThresholds' @:: Lens' PParams (Prelude.Maybe VotingThresholds)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minCommitteeSize' @:: Lens' PParams Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeTermLimit' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.governanceActionValidityPeriod' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.governanceActionDeposit' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'governanceActionDeposit' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepDeposit' @:: Lens' PParams BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drepDeposit' @:: Lens' PParams (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepInactivityPeriod' @:: Lens' PParams Data.Word.Word64@ -}
data PParams
  = PParams'_constructor {_PParams'coinsPerUtxoByte :: !(Prelude.Maybe BigInt),
                          _PParams'maxTxSize :: !Data.Word.Word64,
                          _PParams'minFeeCoefficient :: !(Prelude.Maybe BigInt),
                          _PParams'minFeeConstant :: !(Prelude.Maybe BigInt),
                          _PParams'maxBlockBodySize :: !Data.Word.Word64,
                          _PParams'maxBlockHeaderSize :: !Data.Word.Word64,
                          _PParams'stakeKeyDeposit :: !(Prelude.Maybe BigInt),
                          _PParams'poolDeposit :: !(Prelude.Maybe BigInt),
                          _PParams'poolRetirementEpochBound :: !Data.Word.Word64,
                          _PParams'desiredNumberOfPools :: !Data.Word.Word64,
                          _PParams'poolInfluence :: !(Prelude.Maybe RationalNumber),
                          _PParams'monetaryExpansion :: !(Prelude.Maybe RationalNumber),
                          _PParams'treasuryExpansion :: !(Prelude.Maybe RationalNumber),
                          _PParams'minPoolCost :: !(Prelude.Maybe BigInt),
                          _PParams'protocolVersion :: !(Prelude.Maybe ProtocolVersion),
                          _PParams'maxValueSize :: !Data.Word.Word64,
                          _PParams'collateralPercentage :: !Data.Word.Word64,
                          _PParams'maxCollateralInputs :: !Data.Word.Word64,
                          _PParams'costModels :: !(Prelude.Maybe CostModels),
                          _PParams'prices :: !(Prelude.Maybe ExPrices),
                          _PParams'maxExecutionUnitsPerTransaction :: !(Prelude.Maybe ExUnits),
                          _PParams'maxExecutionUnitsPerBlock :: !(Prelude.Maybe ExUnits),
                          _PParams'minFeeScriptRefCostPerByte :: !(Prelude.Maybe RationalNumber),
                          _PParams'poolVotingThresholds :: !(Prelude.Maybe VotingThresholds),
                          _PParams'drepVotingThresholds :: !(Prelude.Maybe VotingThresholds),
                          _PParams'minCommitteeSize :: !Data.Word.Word32,
                          _PParams'committeeTermLimit :: !Data.Word.Word64,
                          _PParams'governanceActionValidityPeriod :: !Data.Word.Word64,
                          _PParams'governanceActionDeposit :: !(Prelude.Maybe BigInt),
                          _PParams'drepDeposit :: !(Prelude.Maybe BigInt),
                          _PParams'drepInactivityPeriod :: !Data.Word.Word64,
                          _PParams'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PParams where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PParams "coinsPerUtxoByte" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'coinsPerUtxoByte
           (\ x__ y__ -> x__ {_PParams'coinsPerUtxoByte = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'coinsPerUtxoByte" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'coinsPerUtxoByte
           (\ x__ y__ -> x__ {_PParams'coinsPerUtxoByte = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxTxSize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxTxSize (\ x__ y__ -> x__ {_PParams'maxTxSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minFeeCoefficient" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeCoefficient
           (\ x__ y__ -> x__ {_PParams'minFeeCoefficient = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'minFeeCoefficient" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeCoefficient
           (\ x__ y__ -> x__ {_PParams'minFeeCoefficient = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minFeeConstant" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeConstant
           (\ x__ y__ -> x__ {_PParams'minFeeConstant = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'minFeeConstant" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeConstant
           (\ x__ y__ -> x__ {_PParams'minFeeConstant = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxBlockBodySize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxBlockBodySize
           (\ x__ y__ -> x__ {_PParams'maxBlockBodySize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxBlockHeaderSize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxBlockHeaderSize
           (\ x__ y__ -> x__ {_PParams'maxBlockHeaderSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "stakeKeyDeposit" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'stakeKeyDeposit
           (\ x__ y__ -> x__ {_PParams'stakeKeyDeposit = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'stakeKeyDeposit" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'stakeKeyDeposit
           (\ x__ y__ -> x__ {_PParams'stakeKeyDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolDeposit" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolDeposit
           (\ x__ y__ -> x__ {_PParams'poolDeposit = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'poolDeposit" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolDeposit
           (\ x__ y__ -> x__ {_PParams'poolDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolRetirementEpochBound" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolRetirementEpochBound
           (\ x__ y__ -> x__ {_PParams'poolRetirementEpochBound = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "desiredNumberOfPools" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'desiredNumberOfPools
           (\ x__ y__ -> x__ {_PParams'desiredNumberOfPools = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolInfluence" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolInfluence
           (\ x__ y__ -> x__ {_PParams'poolInfluence = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'poolInfluence" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolInfluence
           (\ x__ y__ -> x__ {_PParams'poolInfluence = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "monetaryExpansion" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'monetaryExpansion
           (\ x__ y__ -> x__ {_PParams'monetaryExpansion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'monetaryExpansion" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'monetaryExpansion
           (\ x__ y__ -> x__ {_PParams'monetaryExpansion = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "treasuryExpansion" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'treasuryExpansion
           (\ x__ y__ -> x__ {_PParams'treasuryExpansion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'treasuryExpansion" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'treasuryExpansion
           (\ x__ y__ -> x__ {_PParams'treasuryExpansion = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minPoolCost" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minPoolCost
           (\ x__ y__ -> x__ {_PParams'minPoolCost = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'minPoolCost" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minPoolCost
           (\ x__ y__ -> x__ {_PParams'minPoolCost = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "protocolVersion" ProtocolVersion where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'protocolVersion
           (\ x__ y__ -> x__ {_PParams'protocolVersion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'protocolVersion" (Prelude.Maybe ProtocolVersion) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'protocolVersion
           (\ x__ y__ -> x__ {_PParams'protocolVersion = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxValueSize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxValueSize
           (\ x__ y__ -> x__ {_PParams'maxValueSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "collateralPercentage" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'collateralPercentage
           (\ x__ y__ -> x__ {_PParams'collateralPercentage = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxCollateralInputs" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxCollateralInputs
           (\ x__ y__ -> x__ {_PParams'maxCollateralInputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "costModels" CostModels where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'costModels (\ x__ y__ -> x__ {_PParams'costModels = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'costModels" (Prelude.Maybe CostModels) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'costModels (\ x__ y__ -> x__ {_PParams'costModels = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "prices" ExPrices where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'prices (\ x__ y__ -> x__ {_PParams'prices = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'prices" (Prelude.Maybe ExPrices) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'prices (\ x__ y__ -> x__ {_PParams'prices = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxExecutionUnitsPerTransaction" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerTransaction
           (\ x__ y__
              -> x__ {_PParams'maxExecutionUnitsPerTransaction = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'maxExecutionUnitsPerTransaction" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerTransaction
           (\ x__ y__
              -> x__ {_PParams'maxExecutionUnitsPerTransaction = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxExecutionUnitsPerBlock" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerBlock
           (\ x__ y__ -> x__ {_PParams'maxExecutionUnitsPerBlock = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'maxExecutionUnitsPerBlock" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerBlock
           (\ x__ y__ -> x__ {_PParams'maxExecutionUnitsPerBlock = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minFeeScriptRefCostPerByte" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeScriptRefCostPerByte
           (\ x__ y__ -> x__ {_PParams'minFeeScriptRefCostPerByte = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'minFeeScriptRefCostPerByte" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeScriptRefCostPerByte
           (\ x__ y__ -> x__ {_PParams'minFeeScriptRefCostPerByte = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolVotingThresholds" VotingThresholds where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolVotingThresholds
           (\ x__ y__ -> x__ {_PParams'poolVotingThresholds = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'poolVotingThresholds" (Prelude.Maybe VotingThresholds) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolVotingThresholds
           (\ x__ y__ -> x__ {_PParams'poolVotingThresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "drepVotingThresholds" VotingThresholds where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepVotingThresholds
           (\ x__ y__ -> x__ {_PParams'drepVotingThresholds = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'drepVotingThresholds" (Prelude.Maybe VotingThresholds) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepVotingThresholds
           (\ x__ y__ -> x__ {_PParams'drepVotingThresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minCommitteeSize" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minCommitteeSize
           (\ x__ y__ -> x__ {_PParams'minCommitteeSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "committeeTermLimit" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'committeeTermLimit
           (\ x__ y__ -> x__ {_PParams'committeeTermLimit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "governanceActionValidityPeriod" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'governanceActionValidityPeriod
           (\ x__ y__ -> x__ {_PParams'governanceActionValidityPeriod = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "governanceActionDeposit" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'governanceActionDeposit
           (\ x__ y__ -> x__ {_PParams'governanceActionDeposit = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'governanceActionDeposit" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'governanceActionDeposit
           (\ x__ y__ -> x__ {_PParams'governanceActionDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "drepDeposit" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepDeposit
           (\ x__ y__ -> x__ {_PParams'drepDeposit = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'drepDeposit" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepDeposit
           (\ x__ y__ -> x__ {_PParams'drepDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "drepInactivityPeriod" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepInactivityPeriod
           (\ x__ y__ -> x__ {_PParams'drepInactivityPeriod = y__}))
        Prelude.id
instance Data.ProtoLens.Message PParams where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.PParams"
  packedMessageDescriptor _
    = "\n\
      \\aPParams\DC2M\n\
      \\DC3coins_per_utxo_byte\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DLEcoinsPerUtxoByte\DC2\RS\n\
      \\vmax_tx_size\CAN\STX \SOH(\EOTR\tmaxTxSize\DC2N\n\
      \\DC3min_fee_coefficient\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DC1minFeeCoefficient\DC2H\n\
      \\DLEmin_fee_constant\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\SOminFeeConstant\DC2-\n\
      \\DC3max_block_body_size\CAN\ENQ \SOH(\EOTR\DLEmaxBlockBodySize\DC21\n\
      \\NAKmax_block_header_size\CAN\ACK \SOH(\EOTR\DC2maxBlockHeaderSize\DC2J\n\
      \\DC1stake_key_deposit\CAN\a \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\SIstakeKeyDeposit\DC2A\n\
      \\fpool_deposit\CAN\b \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vpoolDeposit\DC2=\n\
      \\ESCpool_retirement_epoch_bound\CAN\t \SOH(\EOTR\CANpoolRetirementEpochBound\DC25\n\
      \\ETBdesired_number_of_pools\CAN\n\
      \ \SOH(\EOTR\DC4desiredNumberOfPools\DC2M\n\
      \\SOpool_influence\CAN\v \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\rpoolInfluence\DC2U\n\
      \\DC2monetary_expansion\CAN\f \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC1monetaryExpansion\DC2U\n\
      \\DC2treasury_expansion\CAN\r \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC1treasuryExpansion\DC2B\n\
      \\rmin_pool_cost\CAN\SO \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vminPoolCost\DC2R\n\
      \\DLEprotocol_version\CAN\SI \SOH(\v2'.utxorpc.v1beta.cardano.ProtocolVersionR\SIprotocolVersion\DC2$\n\
      \\SOmax_value_size\CAN\DLE \SOH(\EOTR\fmaxValueSize\DC23\n\
      \\NAKcollateral_percentage\CAN\DC1 \SOH(\EOTR\DC4collateralPercentage\DC22\n\
      \\NAKmax_collateral_inputs\CAN\DC2 \SOH(\EOTR\DC3maxCollateralInputs\DC2C\n\
      \\vcost_models\CAN\DC3 \SOH(\v2\".utxorpc.v1beta.cardano.CostModelsR\n\
      \costModels\DC28\n\
      \\ACKprices\CAN\DC4 \SOH(\v2 .utxorpc.v1beta.cardano.ExPricesR\ACKprices\DC2m\n\
      \#max_execution_units_per_transaction\CAN\NAK \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\USmaxExecutionUnitsPerTransaction\DC2a\n\
      \\GSmax_execution_units_per_block\CAN\SYN \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\EMmaxExecutionUnitsPerBlock\DC2l\n\
      \ min_fee_script_ref_cost_per_byte\CAN\ETB \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SUBminFeeScriptRefCostPerByte\DC2^\n\
      \\SYNpool_voting_thresholds\CAN\CAN \SOH(\v2(.utxorpc.v1beta.cardano.VotingThresholdsR\DC4poolVotingThresholds\DC2^\n\
      \\SYNdrep_voting_thresholds\CAN\EM \SOH(\v2(.utxorpc.v1beta.cardano.VotingThresholdsR\DC4drepVotingThresholds\DC2,\n\
      \\DC2min_committee_size\CAN\SUB \SOH(\rR\DLEminCommitteeSize\DC20\n\
      \\DC4committee_term_limit\CAN\ESC \SOH(\EOTR\DC2committeeTermLimit\DC2I\n\
      \!governance_action_validity_period\CAN\FS \SOH(\EOTR\RSgovernanceActionValidityPeriod\DC2Z\n\
      \\EMgovernance_action_deposit\CAN\GS \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ETBgovernanceActionDeposit\DC2A\n\
      \\fdrep_deposit\CAN\RS \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vdrepDeposit\DC24\n\
      \\SYNdrep_inactivity_period\CAN\US \SOH(\EOTR\DC4drepInactivityPeriod"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        coinsPerUtxoByte__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coins_per_utxo_byte"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coinsPerUtxoByte")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxTxSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_tx_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxTxSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minFeeCoefficient__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_fee_coefficient"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'minFeeCoefficient")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minFeeConstant__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_fee_constant"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'minFeeConstant")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxBlockBodySize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_block_body_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxBlockBodySize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxBlockHeaderSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_block_header_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxBlockHeaderSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        stakeKeyDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_key_deposit"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeKeyDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_deposit"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolRetirementEpochBound__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_retirement_epoch_bound"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolRetirementEpochBound")) ::
              Data.ProtoLens.FieldDescriptor PParams
        desiredNumberOfPools__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "desired_number_of_pools"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"desiredNumberOfPools")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolInfluence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_influence"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolInfluence")) ::
              Data.ProtoLens.FieldDescriptor PParams
        monetaryExpansion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "monetary_expansion"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'monetaryExpansion")) ::
              Data.ProtoLens.FieldDescriptor PParams
        treasuryExpansion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "treasury_expansion"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'treasuryExpansion")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minPoolCost__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_pool_cost"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'minPoolCost")) ::
              Data.ProtoLens.FieldDescriptor PParams
        protocolVersion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_version"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ProtocolVersion)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolVersion")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxValueSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_value_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxValueSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        collateralPercentage__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral_percentage"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"collateralPercentage")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxCollateralInputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_collateral_inputs"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxCollateralInputs")) ::
              Data.ProtoLens.FieldDescriptor PParams
        costModels__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "cost_models"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModels)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'costModels")) ::
              Data.ProtoLens.FieldDescriptor PParams
        prices__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "prices"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExPrices)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'prices")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxExecutionUnitsPerTransaction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_execution_units_per_transaction"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field
                    @"maybe'maxExecutionUnitsPerTransaction")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxExecutionUnitsPerBlock__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_execution_units_per_block"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'maxExecutionUnitsPerBlock")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minFeeScriptRefCostPerByte__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_fee_script_ref_cost_per_byte"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field
                    @"maybe'minFeeScriptRefCostPerByte")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolVotingThresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_voting_thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VotingThresholds)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolVotingThresholds")) ::
              Data.ProtoLens.FieldDescriptor PParams
        drepVotingThresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_voting_thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VotingThresholds)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepVotingThresholds")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minCommitteeSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_committee_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"minCommitteeSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        committeeTermLimit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_term_limit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"committeeTermLimit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        governanceActionValidityPeriod__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "governance_action_validity_period"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"governanceActionValidityPeriod")) ::
              Data.ProtoLens.FieldDescriptor PParams
        governanceActionDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "governance_action_deposit"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'governanceActionDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        drepDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_deposit"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        drepInactivityPeriod__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_inactivity_period"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"drepInactivityPeriod")) ::
              Data.ProtoLens.FieldDescriptor PParams
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, coinsPerUtxoByte__field_descriptor),
           (Data.ProtoLens.Tag 2, maxTxSize__field_descriptor),
           (Data.ProtoLens.Tag 3, minFeeCoefficient__field_descriptor),
           (Data.ProtoLens.Tag 4, minFeeConstant__field_descriptor),
           (Data.ProtoLens.Tag 5, maxBlockBodySize__field_descriptor),
           (Data.ProtoLens.Tag 6, maxBlockHeaderSize__field_descriptor),
           (Data.ProtoLens.Tag 7, stakeKeyDeposit__field_descriptor),
           (Data.ProtoLens.Tag 8, poolDeposit__field_descriptor),
           (Data.ProtoLens.Tag 9, poolRetirementEpochBound__field_descriptor),
           (Data.ProtoLens.Tag 10, desiredNumberOfPools__field_descriptor),
           (Data.ProtoLens.Tag 11, poolInfluence__field_descriptor),
           (Data.ProtoLens.Tag 12, monetaryExpansion__field_descriptor),
           (Data.ProtoLens.Tag 13, treasuryExpansion__field_descriptor),
           (Data.ProtoLens.Tag 14, minPoolCost__field_descriptor),
           (Data.ProtoLens.Tag 15, protocolVersion__field_descriptor),
           (Data.ProtoLens.Tag 16, maxValueSize__field_descriptor),
           (Data.ProtoLens.Tag 17, collateralPercentage__field_descriptor),
           (Data.ProtoLens.Tag 18, maxCollateralInputs__field_descriptor),
           (Data.ProtoLens.Tag 19, costModels__field_descriptor),
           (Data.ProtoLens.Tag 20, prices__field_descriptor),
           (Data.ProtoLens.Tag 21, 
            maxExecutionUnitsPerTransaction__field_descriptor),
           (Data.ProtoLens.Tag 22, 
            maxExecutionUnitsPerBlock__field_descriptor),
           (Data.ProtoLens.Tag 23, 
            minFeeScriptRefCostPerByte__field_descriptor),
           (Data.ProtoLens.Tag 24, poolVotingThresholds__field_descriptor),
           (Data.ProtoLens.Tag 25, drepVotingThresholds__field_descriptor),
           (Data.ProtoLens.Tag 26, minCommitteeSize__field_descriptor),
           (Data.ProtoLens.Tag 27, committeeTermLimit__field_descriptor),
           (Data.ProtoLens.Tag 28, 
            governanceActionValidityPeriod__field_descriptor),
           (Data.ProtoLens.Tag 29, governanceActionDeposit__field_descriptor),
           (Data.ProtoLens.Tag 30, drepDeposit__field_descriptor),
           (Data.ProtoLens.Tag 31, drepInactivityPeriod__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PParams'_unknownFields
        (\ x__ y__ -> x__ {_PParams'_unknownFields = y__})
  defMessage
    = PParams'_constructor
        {_PParams'coinsPerUtxoByte = Prelude.Nothing,
         _PParams'maxTxSize = Data.ProtoLens.fieldDefault,
         _PParams'minFeeCoefficient = Prelude.Nothing,
         _PParams'minFeeConstant = Prelude.Nothing,
         _PParams'maxBlockBodySize = Data.ProtoLens.fieldDefault,
         _PParams'maxBlockHeaderSize = Data.ProtoLens.fieldDefault,
         _PParams'stakeKeyDeposit = Prelude.Nothing,
         _PParams'poolDeposit = Prelude.Nothing,
         _PParams'poolRetirementEpochBound = Data.ProtoLens.fieldDefault,
         _PParams'desiredNumberOfPools = Data.ProtoLens.fieldDefault,
         _PParams'poolInfluence = Prelude.Nothing,
         _PParams'monetaryExpansion = Prelude.Nothing,
         _PParams'treasuryExpansion = Prelude.Nothing,
         _PParams'minPoolCost = Prelude.Nothing,
         _PParams'protocolVersion = Prelude.Nothing,
         _PParams'maxValueSize = Data.ProtoLens.fieldDefault,
         _PParams'collateralPercentage = Data.ProtoLens.fieldDefault,
         _PParams'maxCollateralInputs = Data.ProtoLens.fieldDefault,
         _PParams'costModels = Prelude.Nothing,
         _PParams'prices = Prelude.Nothing,
         _PParams'maxExecutionUnitsPerTransaction = Prelude.Nothing,
         _PParams'maxExecutionUnitsPerBlock = Prelude.Nothing,
         _PParams'minFeeScriptRefCostPerByte = Prelude.Nothing,
         _PParams'poolVotingThresholds = Prelude.Nothing,
         _PParams'drepVotingThresholds = Prelude.Nothing,
         _PParams'minCommitteeSize = Data.ProtoLens.fieldDefault,
         _PParams'committeeTermLimit = Data.ProtoLens.fieldDefault,
         _PParams'governanceActionValidityPeriod = Data.ProtoLens.fieldDefault,
         _PParams'governanceActionDeposit = Prelude.Nothing,
         _PParams'drepDeposit = Prelude.Nothing,
         _PParams'drepInactivityPeriod = Data.ProtoLens.fieldDefault,
         _PParams'_unknownFields = []}
  parseMessage
    = let
        loop :: PParams -> Data.ProtoLens.Encoding.Bytes.Parser PParams
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coins_per_utxo_byte"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"coinsPerUtxoByte") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "max_tx_size"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"maxTxSize") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "min_fee_coefficient"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minFeeCoefficient") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "min_fee_constant"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minFeeConstant") y x)
                        40
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "max_block_body_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxBlockBodySize") y x)
                        48
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "max_block_header_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxBlockHeaderSize") y x)
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_key_deposit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeKeyDeposit") y x)
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_deposit"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolDeposit") y x)
                        72
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "pool_retirement_epoch_bound"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRetirementEpochBound") y x)
                        80
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "desired_number_of_pools"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"desiredNumberOfPools") y x)
                        90
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_influence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolInfluence") y x)
                        98
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "monetary_expansion"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"monetaryExpansion") y x)
                        106
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "treasury_expansion"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"treasuryExpansion") y x)
                        114
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "min_pool_cost"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"minPoolCost") y x)
                        122
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_version"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolVersion") y x)
                        128
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "max_value_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxValueSize") y x)
                        136
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "collateral_percentage"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"collateralPercentage") y x)
                        144
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "max_collateral_inputs"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxCollateralInputs") y x)
                        154
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "cost_models"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"costModels") y x)
                        162
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "prices"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"prices") y x)
                        170
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "max_execution_units_per_transaction"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxExecutionUnitsPerTransaction")
                                     y x)
                        178
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "max_execution_units_per_block"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxExecutionUnitsPerBlock") y x)
                        186
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "min_fee_script_ref_cost_per_byte"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minFeeScriptRefCostPerByte") y x)
                        194
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_voting_thresholds"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolVotingThresholds") y x)
                        202
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_voting_thresholds"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepVotingThresholds") y x)
                        208
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "min_committee_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minCommitteeSize") y x)
                        216
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "committee_term_limit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeTermLimit") y x)
                        224
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "governance_action_validity_period"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"governanceActionValidityPeriod")
                                     y x)
                        234
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "governance_action_deposit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"governanceActionDeposit") y x)
                        242
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_deposit"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"drepDeposit") y x)
                        248
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "drep_inactivity_period"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepInactivityPeriod") y x)
                        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) "PParams"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'coinsPerUtxoByte") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"maxTxSize") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'minFeeCoefficient") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'minFeeConstant") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (let
                            _v
                              = Lens.Family2.view
                                  (Data.ProtoLens.Field.field @"maxBlockBodySize") _x
                          in
                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                Data.Monoid.mempty
                            else
                                (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                         ((Data.Monoid.<>)
                            (let
                               _v
                                 = Lens.Family2.view
                                     (Data.ProtoLens.Field.field @"maxBlockHeaderSize") _x
                             in
                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                   Data.Monoid.mempty
                               else
                                   (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                            ((Data.Monoid.<>)
                               (case
                                    Lens.Family2.view
                                      (Data.ProtoLens.Field.field @"maybe'stakeKeyDeposit") _x
                                of
                                  Prelude.Nothing -> Data.Monoid.mempty
                                  (Prelude.Just _v)
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                         ((Prelude..)
                                            (\ bs
                                               -> (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                       (Prelude.fromIntegral
                                                          (Data.ByteString.length bs)))
                                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                            Data.ProtoLens.encodeMessage _v))
                               ((Data.Monoid.<>)
                                  (case
                                       Lens.Family2.view
                                         (Data.ProtoLens.Field.field @"maybe'poolDeposit") _x
                                   of
                                     Prelude.Nothing -> Data.Monoid.mempty
                                     (Prelude.Just _v)
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                            ((Prelude..)
                                               (\ bs
                                                  -> (Data.Monoid.<>)
                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                          (Prelude.fromIntegral
                                                             (Data.ByteString.length bs)))
                                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                               Data.ProtoLens.encodeMessage _v))
                                  ((Data.Monoid.<>)
                                     (let
                                        _v
                                          = Lens.Family2.view
                                              (Data.ProtoLens.Field.field
                                                 @"poolRetirementEpochBound")
                                              _x
                                      in
                                        if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                            Data.Monoid.mempty
                                        else
                                            (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                                     ((Data.Monoid.<>)
                                        (let
                                           _v
                                             = Lens.Family2.view
                                                 (Data.ProtoLens.Field.field
                                                    @"desiredNumberOfPools")
                                                 _x
                                         in
                                           if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                               Data.Monoid.mempty
                                           else
                                               (Data.Monoid.<>)
                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 80)
                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                                        ((Data.Monoid.<>)
                                           (case
                                                Lens.Family2.view
                                                  (Data.ProtoLens.Field.field
                                                     @"maybe'poolInfluence")
                                                  _x
                                            of
                                              Prelude.Nothing -> Data.Monoid.mempty
                                              (Prelude.Just _v)
                                                -> (Data.Monoid.<>)
                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
                                                     ((Prelude..)
                                                        (\ bs
                                                           -> (Data.Monoid.<>)
                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                   (Prelude.fromIntegral
                                                                      (Data.ByteString.length bs)))
                                                                (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                   bs))
                                                        Data.ProtoLens.encodeMessage _v))
                                           ((Data.Monoid.<>)
                                              (case
                                                   Lens.Family2.view
                                                     (Data.ProtoLens.Field.field
                                                        @"maybe'monetaryExpansion")
                                                     _x
                                               of
                                                 Prelude.Nothing -> Data.Monoid.mempty
                                                 (Prelude.Just _v)
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
                                                        ((Prelude..)
                                                           (\ bs
                                                              -> (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      (Prelude.fromIntegral
                                                                         (Data.ByteString.length
                                                                            bs)))
                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                      bs))
                                                           Data.ProtoLens.encodeMessage _v))
                                              ((Data.Monoid.<>)
                                                 (case
                                                      Lens.Family2.view
                                                        (Data.ProtoLens.Field.field
                                                           @"maybe'treasuryExpansion")
                                                        _x
                                                  of
                                                    Prelude.Nothing -> Data.Monoid.mempty
                                                    (Prelude.Just _v)
                                                      -> (Data.Monoid.<>)
                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                              106)
                                                           ((Prelude..)
                                                              (\ bs
                                                                 -> (Data.Monoid.<>)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         (Prelude.fromIntegral
                                                                            (Data.ByteString.length
                                                                               bs)))
                                                                      (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                         bs))
                                                              Data.ProtoLens.encodeMessage _v))
                                                 ((Data.Monoid.<>)
                                                    (case
                                                         Lens.Family2.view
                                                           (Data.ProtoLens.Field.field
                                                              @"maybe'minPoolCost")
                                                           _x
                                                     of
                                                       Prelude.Nothing -> Data.Monoid.mempty
                                                       (Prelude.Just _v)
                                                         -> (Data.Monoid.<>)
                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                 114)
                                                              ((Prelude..)
                                                                 (\ bs
                                                                    -> (Data.Monoid.<>)
                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                            (Prelude.fromIntegral
                                                                               (Data.ByteString.length
                                                                                  bs)))
                                                                         (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                            bs))
                                                                 Data.ProtoLens.encodeMessage _v))
                                                    ((Data.Monoid.<>)
                                                       (case
                                                            Lens.Family2.view
                                                              (Data.ProtoLens.Field.field
                                                                 @"maybe'protocolVersion")
                                                              _x
                                                        of
                                                          Prelude.Nothing -> Data.Monoid.mempty
                                                          (Prelude.Just _v)
                                                            -> (Data.Monoid.<>)
                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                    122)
                                                                 ((Prelude..)
                                                                    (\ bs
                                                                       -> (Data.Monoid.<>)
                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                               (Prelude.fromIntegral
                                                                                  (Data.ByteString.length
                                                                                     bs)))
                                                                            (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                               bs))
                                                                    Data.ProtoLens.encodeMessage
                                                                    _v))
                                                       ((Data.Monoid.<>)
                                                          (let
                                                             _v
                                                               = Lens.Family2.view
                                                                   (Data.ProtoLens.Field.field
                                                                      @"maxValueSize")
                                                                   _x
                                                           in
                                                             if (Prelude.==)
                                                                  _v
                                                                  Data.ProtoLens.fieldDefault then
                                                                 Data.Monoid.mempty
                                                             else
                                                                 (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      128)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      _v))
                                                          ((Data.Monoid.<>)
                                                             (let
                                                                _v
                                                                  = Lens.Family2.view
                                                                      (Data.ProtoLens.Field.field
                                                                         @"collateralPercentage")
                                                                      _x
                                                              in
                                                                if (Prelude.==)
                                                                     _v
                                                                     Data.ProtoLens.fieldDefault then
                                                                    Data.Monoid.mempty
                                                                else
                                                                    (Data.Monoid.<>)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         136)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         _v))
                                                             ((Data.Monoid.<>)
                                                                (let
                                                                   _v
                                                                     = Lens.Family2.view
                                                                         (Data.ProtoLens.Field.field
                                                                            @"maxCollateralInputs")
                                                                         _x
                                                                 in
                                                                   if (Prelude.==)
                                                                        _v
                                                                        Data.ProtoLens.fieldDefault then
                                                                       Data.Monoid.mempty
                                                                   else
                                                                       (Data.Monoid.<>)
                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                            144)
                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                            _v))
                                                                ((Data.Monoid.<>)
                                                                   (case
                                                                        Lens.Family2.view
                                                                          (Data.ProtoLens.Field.field
                                                                             @"maybe'costModels")
                                                                          _x
                                                                    of
                                                                      Prelude.Nothing
                                                                        -> Data.Monoid.mempty
                                                                      (Prelude.Just _v)
                                                                        -> (Data.Monoid.<>)
                                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                154)
                                                                             ((Prelude..)
                                                                                (\ bs
                                                                                   -> (Data.Monoid.<>)
                                                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                           (Prelude.fromIntegral
                                                                                              (Data.ByteString.length
                                                                                                 bs)))
                                                                                        (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                           bs))
                                                                                Data.ProtoLens.encodeMessage
                                                                                _v))
                                                                   ((Data.Monoid.<>)
                                                                      (case
                                                                           Lens.Family2.view
                                                                             (Data.ProtoLens.Field.field
                                                                                @"maybe'prices")
                                                                             _x
                                                                       of
                                                                         Prelude.Nothing
                                                                           -> Data.Monoid.mempty
                                                                         (Prelude.Just _v)
                                                                           -> (Data.Monoid.<>)
                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                   162)
                                                                                ((Prelude..)
                                                                                   (\ bs
                                                                                      -> (Data.Monoid.<>)
                                                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                              (Prelude.fromIntegral
                                                                                                 (Data.ByteString.length
                                                                                                    bs)))
                                                                                           (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                              bs))
                                                                                   Data.ProtoLens.encodeMessage
                                                                                   _v))
                                                                      ((Data.Monoid.<>)
                                                                         (case
                                                                              Lens.Family2.view
                                                                                (Data.ProtoLens.Field.field
                                                                                   @"maybe'maxExecutionUnitsPerTransaction")
                                                                                _x
                                                                          of
                                                                            Prelude.Nothing
                                                                              -> Data.Monoid.mempty
                                                                            (Prelude.Just _v)
                                                                              -> (Data.Monoid.<>)
                                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                      170)
                                                                                   ((Prelude..)
                                                                                      (\ bs
                                                                                         -> (Data.Monoid.<>)
                                                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                 (Prelude.fromIntegral
                                                                                                    (Data.ByteString.length
                                                                                                       bs)))
                                                                                              (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                 bs))
                                                                                      Data.ProtoLens.encodeMessage
                                                                                      _v))
                                                                         ((Data.Monoid.<>)
                                                                            (case
                                                                                 Lens.Family2.view
                                                                                   (Data.ProtoLens.Field.field
                                                                                      @"maybe'maxExecutionUnitsPerBlock")
                                                                                   _x
                                                                             of
                                                                               Prelude.Nothing
                                                                                 -> Data.Monoid.mempty
                                                                               (Prelude.Just _v)
                                                                                 -> (Data.Monoid.<>)
                                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                         178)
                                                                                      ((Prelude..)
                                                                                         (\ bs
                                                                                            -> (Data.Monoid.<>)
                                                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                    (Prelude.fromIntegral
                                                                                                       (Data.ByteString.length
                                                                                                          bs)))
                                                                                                 (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                    bs))
                                                                                         Data.ProtoLens.encodeMessage
                                                                                         _v))
                                                                            ((Data.Monoid.<>)
                                                                               (case
                                                                                    Lens.Family2.view
                                                                                      (Data.ProtoLens.Field.field
                                                                                         @"maybe'minFeeScriptRefCostPerByte")
                                                                                      _x
                                                                                of
                                                                                  Prelude.Nothing
                                                                                    -> Data.Monoid.mempty
                                                                                  (Prelude.Just _v)
                                                                                    -> (Data.Monoid.<>)
                                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                            186)
                                                                                         ((Prelude..)
                                                                                            (\ bs
                                                                                               -> (Data.Monoid.<>)
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                       (Prelude.fromIntegral
                                                                                                          (Data.ByteString.length
                                                                                                             bs)))
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                       bs))
                                                                                            Data.ProtoLens.encodeMessage
                                                                                            _v))
                                                                               ((Data.Monoid.<>)
                                                                                  (case
                                                                                       Lens.Family2.view
                                                                                         (Data.ProtoLens.Field.field
                                                                                            @"maybe'poolVotingThresholds")
                                                                                         _x
                                                                                   of
                                                                                     Prelude.Nothing
                                                                                       -> Data.Monoid.mempty
                                                                                     (Prelude.Just _v)
                                                                                       -> (Data.Monoid.<>)
                                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                               194)
                                                                                            ((Prelude..)
                                                                                               (\ bs
                                                                                                  -> (Data.Monoid.<>)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          (Prelude.fromIntegral
                                                                                                             (Data.ByteString.length
                                                                                                                bs)))
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                          bs))
                                                                                               Data.ProtoLens.encodeMessage
                                                                                               _v))
                                                                                  ((Data.Monoid.<>)
                                                                                     (case
                                                                                          Lens.Family2.view
                                                                                            (Data.ProtoLens.Field.field
                                                                                               @"maybe'drepVotingThresholds")
                                                                                            _x
                                                                                      of
                                                                                        Prelude.Nothing
                                                                                          -> Data.Monoid.mempty
                                                                                        (Prelude.Just _v)
                                                                                          -> (Data.Monoid.<>)
                                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                  202)
                                                                                               ((Prelude..)
                                                                                                  (\ bs
                                                                                                     -> (Data.Monoid.<>)
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                             (Prelude.fromIntegral
                                                                                                                (Data.ByteString.length
                                                                                                                   bs)))
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                             bs))
                                                                                                  Data.ProtoLens.encodeMessage
                                                                                                  _v))
                                                                                     ((Data.Monoid.<>)
                                                                                        (let
                                                                                           _v
                                                                                             = Lens.Family2.view
                                                                                                 (Data.ProtoLens.Field.field
                                                                                                    @"minCommitteeSize")
                                                                                                 _x
                                                                                         in
                                                                                           if (Prelude.==)
                                                                                                _v
                                                                                                Data.ProtoLens.fieldDefault then
                                                                                               Data.Monoid.mempty
                                                                                           else
                                                                                               (Data.Monoid.<>)
                                                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                    208)
                                                                                                 ((Prelude..)
                                                                                                    Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                    Prelude.fromIntegral
                                                                                                    _v))
                                                                                        ((Data.Monoid.<>)
                                                                                           (let
                                                                                              _v
                                                                                                = Lens.Family2.view
                                                                                                    (Data.ProtoLens.Field.field
                                                                                                       @"committeeTermLimit")
                                                                                                    _x
                                                                                            in
                                                                                              if (Prelude.==)
                                                                                                   _v
                                                                                                   Data.ProtoLens.fieldDefault then
                                                                                                  Data.Monoid.mempty
                                                                                              else
                                                                                                  (Data.Monoid.<>)
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                       216)
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                       _v))
                                                                                           ((Data.Monoid.<>)
                                                                                              (let
                                                                                                 _v
                                                                                                   = Lens.Family2.view
                                                                                                       (Data.ProtoLens.Field.field
                                                                                                          @"governanceActionValidityPeriod")
                                                                                                       _x
                                                                                               in
                                                                                                 if (Prelude.==)
                                                                                                      _v
                                                                                                      Data.ProtoLens.fieldDefault then
                                                                                                     Data.Monoid.mempty
                                                                                                 else
                                                                                                     (Data.Monoid.<>)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          224)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          _v))
                                                                                              ((Data.Monoid.<>)
                                                                                                 (case
                                                                                                      Lens.Family2.view
                                                                                                        (Data.ProtoLens.Field.field
                                                                                                           @"maybe'governanceActionDeposit")
                                                                                                        _x
                                                                                                  of
                                                                                                    Prelude.Nothing
                                                                                                      -> Data.Monoid.mempty
                                                                                                    (Prelude.Just _v)
                                                                                                      -> (Data.Monoid.<>)
                                                                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                              234)
                                                                                                           ((Prelude..)
                                                                                                              (\ bs
                                                                                                                 -> (Data.Monoid.<>)
                                                                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                         (Prelude.fromIntegral
                                                                                                                            (Data.ByteString.length
                                                                                                                               bs)))
                                                                                                                      (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                         bs))
                                                                                                              Data.ProtoLens.encodeMessage
                                                                                                              _v))
                                                                                                 ((Data.Monoid.<>)
                                                                                                    (case
                                                                                                         Lens.Family2.view
                                                                                                           (Data.ProtoLens.Field.field
                                                                                                              @"maybe'drepDeposit")
                                                                                                           _x
                                                                                                     of
                                                                                                       Prelude.Nothing
                                                                                                         -> Data.Monoid.mempty
                                                                                                       (Prelude.Just _v)
                                                                                                         -> (Data.Monoid.<>)
                                                                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                 242)
                                                                                                              ((Prelude..)
                                                                                                                 (\ bs
                                                                                                                    -> (Data.Monoid.<>)
                                                                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                            (Prelude.fromIntegral
                                                                                                                               (Data.ByteString.length
                                                                                                                                  bs)))
                                                                                                                         (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                                            bs))
                                                                                                                 Data.ProtoLens.encodeMessage
                                                                                                                 _v))
                                                                                                    ((Data.Monoid.<>)
                                                                                                       (let
                                                                                                          _v
                                                                                                            = Lens.Family2.view
                                                                                                                (Data.ProtoLens.Field.field
                                                                                                                   @"drepInactivityPeriod")
                                                                                                                _x
                                                                                                        in
                                                                                                          if (Prelude.==)
                                                                                                               _v
                                                                                                               Data.ProtoLens.fieldDefault then
                                                                                                              Data.Monoid.mempty
                                                                                                          else
                                                                                                              (Data.Monoid.<>)
                                                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                   248)
                                                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                   _v))
                                                                                                       (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                                                                                          (Lens.Family2.view
                                                                                                             Data.ProtoLens.unknownFields
                                                                                                             _x))))))))))))))))))))))))))))))))
instance Control.DeepSeq.NFData PParams where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PParams'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PParams'coinsPerUtxoByte x__)
                (Control.DeepSeq.deepseq
                   (_PParams'maxTxSize x__)
                   (Control.DeepSeq.deepseq
                      (_PParams'minFeeCoefficient x__)
                      (Control.DeepSeq.deepseq
                         (_PParams'minFeeConstant x__)
                         (Control.DeepSeq.deepseq
                            (_PParams'maxBlockBodySize x__)
                            (Control.DeepSeq.deepseq
                               (_PParams'maxBlockHeaderSize x__)
                               (Control.DeepSeq.deepseq
                                  (_PParams'stakeKeyDeposit x__)
                                  (Control.DeepSeq.deepseq
                                     (_PParams'poolDeposit x__)
                                     (Control.DeepSeq.deepseq
                                        (_PParams'poolRetirementEpochBound x__)
                                        (Control.DeepSeq.deepseq
                                           (_PParams'desiredNumberOfPools x__)
                                           (Control.DeepSeq.deepseq
                                              (_PParams'poolInfluence x__)
                                              (Control.DeepSeq.deepseq
                                                 (_PParams'monetaryExpansion x__)
                                                 (Control.DeepSeq.deepseq
                                                    (_PParams'treasuryExpansion x__)
                                                    (Control.DeepSeq.deepseq
                                                       (_PParams'minPoolCost x__)
                                                       (Control.DeepSeq.deepseq
                                                          (_PParams'protocolVersion x__)
                                                          (Control.DeepSeq.deepseq
                                                             (_PParams'maxValueSize x__)
                                                             (Control.DeepSeq.deepseq
                                                                (_PParams'collateralPercentage x__)
                                                                (Control.DeepSeq.deepseq
                                                                   (_PParams'maxCollateralInputs
                                                                      x__)
                                                                   (Control.DeepSeq.deepseq
                                                                      (_PParams'costModels x__)
                                                                      (Control.DeepSeq.deepseq
                                                                         (_PParams'prices x__)
                                                                         (Control.DeepSeq.deepseq
                                                                            (_PParams'maxExecutionUnitsPerTransaction
                                                                               x__)
                                                                            (Control.DeepSeq.deepseq
                                                                               (_PParams'maxExecutionUnitsPerBlock
                                                                                  x__)
                                                                               (Control.DeepSeq.deepseq
                                                                                  (_PParams'minFeeScriptRefCostPerByte
                                                                                     x__)
                                                                                  (Control.DeepSeq.deepseq
                                                                                     (_PParams'poolVotingThresholds
                                                                                        x__)
                                                                                     (Control.DeepSeq.deepseq
                                                                                        (_PParams'drepVotingThresholds
                                                                                           x__)
                                                                                        (Control.DeepSeq.deepseq
                                                                                           (_PParams'minCommitteeSize
                                                                                              x__)
                                                                                           (Control.DeepSeq.deepseq
                                                                                              (_PParams'committeeTermLimit
                                                                                                 x__)
                                                                                              (Control.DeepSeq.deepseq
                                                                                                 (_PParams'governanceActionValidityPeriod
                                                                                                    x__)
                                                                                                 (Control.DeepSeq.deepseq
                                                                                                    (_PParams'governanceActionDeposit
                                                                                                       x__)
                                                                                                    (Control.DeepSeq.deepseq
                                                                                                       (_PParams'drepDeposit
                                                                                                          x__)
                                                                                                       (Control.DeepSeq.deepseq
                                                                                                          (_PParams'drepInactivityPeriod
                                                                                                             x__)
                                                                                                          ())))))))))))))))))))))))))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govActionId' @:: Lens' ParameterChangeAction GovernanceActionId@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' ParameterChangeAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.protocolParamUpdate' @:: Lens' ParameterChangeAction PParams@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'protocolParamUpdate' @:: Lens' ParameterChangeAction (Prelude.Maybe PParams)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.policyHash' @:: Lens' ParameterChangeAction Data.ByteString.ByteString@ -}
data ParameterChangeAction
  = ParameterChangeAction'_constructor {_ParameterChangeAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                        _ParameterChangeAction'protocolParamUpdate :: !(Prelude.Maybe PParams),
                                        _ParameterChangeAction'policyHash :: !Data.ByteString.ByteString,
                                        _ParameterChangeAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ParameterChangeAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ParameterChangeAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'govActionId
           (\ x__ y__ -> x__ {_ParameterChangeAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ParameterChangeAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'govActionId
           (\ x__ y__ -> x__ {_ParameterChangeAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ParameterChangeAction "protocolParamUpdate" PParams where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'protocolParamUpdate
           (\ x__ y__
              -> x__ {_ParameterChangeAction'protocolParamUpdate = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ParameterChangeAction "maybe'protocolParamUpdate" (Prelude.Maybe PParams) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'protocolParamUpdate
           (\ x__ y__
              -> x__ {_ParameterChangeAction'protocolParamUpdate = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ParameterChangeAction "policyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'policyHash
           (\ x__ y__ -> x__ {_ParameterChangeAction'policyHash = y__}))
        Prelude.id
instance Data.ProtoLens.Message ParameterChangeAction where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.ParameterChangeAction"
  packedMessageDescriptor _
    = "\n\
      \\NAKParameterChangeAction\DC2N\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2S\n\
      \\NAKprotocol_param_update\CAN\STX \SOH(\v2\US.utxorpc.v1beta.cardano.PParamsR\DC3protocolParamUpdate\DC2\US\n\
      \\vpolicy_hash\CAN\ETX \SOH(\fR\n\
      \policyHash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor ParameterChangeAction
        protocolParamUpdate__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_param_update"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PParams)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolParamUpdate")) ::
              Data.ProtoLens.FieldDescriptor ParameterChangeAction
        policyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"policyHash")) ::
              Data.ProtoLens.FieldDescriptor ParameterChangeAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, protocolParamUpdate__field_descriptor),
           (Data.ProtoLens.Tag 3, policyHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ParameterChangeAction'_unknownFields
        (\ x__ y__ -> x__ {_ParameterChangeAction'_unknownFields = y__})
  defMessage
    = ParameterChangeAction'_constructor
        {_ParameterChangeAction'govActionId = Prelude.Nothing,
         _ParameterChangeAction'protocolParamUpdate = Prelude.Nothing,
         _ParameterChangeAction'policyHash = Data.ProtoLens.fieldDefault,
         _ParameterChangeAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ParameterChangeAction
          -> Data.ProtoLens.Encoding.Bytes.Parser ParameterChangeAction
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_param_update"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolParamUpdate") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyHash") y x)
                        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) "ParameterChangeAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'protocolParamUpdate") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"policyHash") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData ParameterChangeAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ParameterChangeAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ParameterChangeAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_ParameterChangeAction'protocolParamUpdate x__)
                   (Control.DeepSeq.deepseq
                      (_ParameterChangeAction'policyHash x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusData' @:: Lens' PlutusData (Prelude.Maybe PlutusData'PlutusData)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'constr' @:: Lens' PlutusData (Prelude.Maybe Constr)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.constr' @:: Lens' PlutusData Constr@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'map' @:: Lens' PlutusData (Prelude.Maybe PlutusDataMap)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.map' @:: Lens' PlutusData PlutusDataMap@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'bigInt' @:: Lens' PlutusData (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.bigInt' @:: Lens' PlutusData BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'boundedBytes' @:: Lens' PlutusData (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.boundedBytes' @:: Lens' PlutusData Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'array' @:: Lens' PlutusData (Prelude.Maybe PlutusDataArray)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.array' @:: Lens' PlutusData PlutusDataArray@ -}
data PlutusData
  = PlutusData'_constructor {_PlutusData'plutusData :: !(Prelude.Maybe PlutusData'PlutusData),
                             _PlutusData'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusData where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data PlutusData'PlutusData
  = PlutusData'Constr !Constr |
    PlutusData'Map !PlutusDataMap |
    PlutusData'BigInt !BigInt |
    PlutusData'BoundedBytes !Data.ByteString.ByteString |
    PlutusData'Array !PlutusDataArray
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField PlutusData "maybe'plutusData" (Prelude.Maybe PlutusData'PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PlutusData "maybe'constr" (Prelude.Maybe Constr) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'Constr x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'Constr y__))
instance Data.ProtoLens.Field.HasField PlutusData "constr" Constr where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'Constr x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'Constr y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'map" (Prelude.Maybe PlutusDataMap) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'Map x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'Map y__))
instance Data.ProtoLens.Field.HasField PlutusData "map" PlutusDataMap where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'Map x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'Map y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'bigInt" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'BigInt x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'BigInt y__))
instance Data.ProtoLens.Field.HasField PlutusData "bigInt" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'BigInt x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'BigInt y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'boundedBytes" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'BoundedBytes x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'BoundedBytes y__))
instance Data.ProtoLens.Field.HasField PlutusData "boundedBytes" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'BoundedBytes x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'BoundedBytes y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'array" (Prelude.Maybe PlutusDataArray) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'Array x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'Array y__))
instance Data.ProtoLens.Field.HasField PlutusData "array" PlutusDataArray where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'Array x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'Array y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Message PlutusData where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.PlutusData"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \PlutusData\DC28\n\
      \\ACKconstr\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.ConstrH\NULR\ACKconstr\DC29\n\
      \\ETXmap\CAN\ETX \SOH(\v2%.utxorpc.v1beta.cardano.PlutusDataMapH\NULR\ETXmap\DC29\n\
      \\abig_int\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntH\NULR\ACKbigInt\DC2%\n\
      \\rbounded_bytes\CAN\ENQ \SOH(\fH\NULR\fboundedBytes\DC2?\n\
      \\ENQarray\CAN\ACK \SOH(\v2'.utxorpc.v1beta.cardano.PlutusDataArrayH\NULR\ENQarrayB\r\n\
      \\vplutus_data"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        constr__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "constr"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Constr)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'constr")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        map__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "map"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusDataMap)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'map")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        bigInt__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "big_int"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bigInt")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        boundedBytes__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "bounded_bytes"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'boundedBytes")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        array__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "array"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusDataArray)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'array")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 2, constr__field_descriptor),
           (Data.ProtoLens.Tag 3, map__field_descriptor),
           (Data.ProtoLens.Tag 4, bigInt__field_descriptor),
           (Data.ProtoLens.Tag 5, boundedBytes__field_descriptor),
           (Data.ProtoLens.Tag 6, array__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusData'_unknownFields
        (\ x__ y__ -> x__ {_PlutusData'_unknownFields = y__})
  defMessage
    = PlutusData'_constructor
        {_PlutusData'plutusData = Prelude.Nothing,
         _PlutusData'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusData -> Data.ProtoLens.Encoding.Bytes.Parser PlutusData
        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
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "constr"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"constr") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "map"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"map") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "big_int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bigInt") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "bounded_bytes"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"boundedBytes") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "array"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"array") y x)
                        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) "PlutusData"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'plutusData") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (PlutusData'Constr v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (PlutusData'Map v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (PlutusData'BigInt v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (PlutusData'BoundedBytes v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (PlutusData'Array v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData PlutusData where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusData'_unknownFields x__)
             (Control.DeepSeq.deepseq (_PlutusData'plutusData x__) ())
instance Control.DeepSeq.NFData PlutusData'PlutusData where
  rnf (PlutusData'Constr x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'Map x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'BigInt x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'BoundedBytes x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'Array x__) = Control.DeepSeq.rnf x__
_PlutusData'Constr ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData Constr
_PlutusData'Constr
  = Data.ProtoLens.Prism.prism'
      PlutusData'Constr
      (\ p__
         -> case p__ of
              (PlutusData'Constr p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'Map ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData PlutusDataMap
_PlutusData'Map
  = Data.ProtoLens.Prism.prism'
      PlutusData'Map
      (\ p__
         -> case p__ of
              (PlutusData'Map p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'BigInt ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData BigInt
_PlutusData'BigInt
  = Data.ProtoLens.Prism.prism'
      PlutusData'BigInt
      (\ p__
         -> case p__ of
              (PlutusData'BigInt p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'BoundedBytes ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData Data.ByteString.ByteString
_PlutusData'BoundedBytes
  = Data.ProtoLens.Prism.prism'
      PlutusData'BoundedBytes
      (\ p__
         -> case p__ of
              (PlutusData'BoundedBytes p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'Array ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData PlutusDataArray
_PlutusData'Array
  = Data.ProtoLens.Prism.prism'
      PlutusData'Array
      (\ p__
         -> case p__ of
              (PlutusData'Array p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.items' @:: Lens' PlutusDataArray [PlutusData]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'items' @:: Lens' PlutusDataArray (Data.Vector.Vector PlutusData)@ -}
data PlutusDataArray
  = PlutusDataArray'_constructor {_PlutusDataArray'items :: !(Data.Vector.Vector PlutusData),
                                  _PlutusDataArray'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusDataArray where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PlutusDataArray "items" [PlutusData] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataArray'items
           (\ x__ y__ -> x__ {_PlutusDataArray'items = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PlutusDataArray "vec'items" (Data.Vector.Vector PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataArray'items
           (\ x__ y__ -> x__ {_PlutusDataArray'items = y__}))
        Prelude.id
instance Data.ProtoLens.Message PlutusDataArray where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PlutusDataArray"
  packedMessageDescriptor _
    = "\n\
      \\SIPlutusDataArray\DC28\n\
      \\ENQitems\CAN\SOH \ETX(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ENQitems"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        items__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "items"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"items")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataArray
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, items__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusDataArray'_unknownFields
        (\ x__ y__ -> x__ {_PlutusDataArray'_unknownFields = y__})
  defMessage
    = PlutusDataArray'_constructor
        {_PlutusDataArray'items = Data.Vector.Generic.empty,
         _PlutusDataArray'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusDataArray
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusData
             -> Data.ProtoLens.Encoding.Bytes.Parser PlutusDataArray
        loop x mutable'items
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'items)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'items") frozen'items x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "items"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'items 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'items
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'items)
          "PlutusDataArray"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'items") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData PlutusDataArray where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusDataArray'_unknownFields x__)
             (Control.DeepSeq.deepseq (_PlutusDataArray'items x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.pairs' @:: Lens' PlutusDataMap [PlutusDataPair]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'pairs' @:: Lens' PlutusDataMap (Data.Vector.Vector PlutusDataPair)@ -}
data PlutusDataMap
  = PlutusDataMap'_constructor {_PlutusDataMap'pairs :: !(Data.Vector.Vector PlutusDataPair),
                                _PlutusDataMap'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusDataMap where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PlutusDataMap "pairs" [PlutusDataPair] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataMap'pairs
           (\ x__ y__ -> x__ {_PlutusDataMap'pairs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PlutusDataMap "vec'pairs" (Data.Vector.Vector PlutusDataPair) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataMap'pairs
           (\ x__ y__ -> x__ {_PlutusDataMap'pairs = y__}))
        Prelude.id
instance Data.ProtoLens.Message PlutusDataMap where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PlutusDataMap"
  packedMessageDescriptor _
    = "\n\
      \\rPlutusDataMap\DC2<\n\
      \\ENQpairs\CAN\SOH \ETX(\v2&.utxorpc.v1beta.cardano.PlutusDataPairR\ENQpairs"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        pairs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pairs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusDataPair)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"pairs")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataMap
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, pairs__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusDataMap'_unknownFields
        (\ x__ y__ -> x__ {_PlutusDataMap'_unknownFields = y__})
  defMessage
    = PlutusDataMap'_constructor
        {_PlutusDataMap'pairs = Data.Vector.Generic.empty,
         _PlutusDataMap'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusDataMap
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusDataPair
             -> Data.ProtoLens.Encoding.Bytes.Parser PlutusDataMap
        loop x mutable'pairs
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'pairs)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'pairs") frozen'pairs x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "pairs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'pairs 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'pairs
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'pairs)
          "PlutusDataMap"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'pairs") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData PlutusDataMap where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusDataMap'_unknownFields x__)
             (Control.DeepSeq.deepseq (_PlutusDataMap'pairs x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.key' @:: Lens' PlutusDataPair PlutusData@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'key' @:: Lens' PlutusDataPair (Prelude.Maybe PlutusData)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.value' @:: Lens' PlutusDataPair PlutusData@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'value' @:: Lens' PlutusDataPair (Prelude.Maybe PlutusData)@ -}
data PlutusDataPair
  = PlutusDataPair'_constructor {_PlutusDataPair'key :: !(Prelude.Maybe PlutusData),
                                 _PlutusDataPair'value :: !(Prelude.Maybe PlutusData),
                                 _PlutusDataPair'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusDataPair where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PlutusDataPair "key" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'key (\ x__ y__ -> x__ {_PlutusDataPair'key = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PlutusDataPair "maybe'key" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'key (\ x__ y__ -> x__ {_PlutusDataPair'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PlutusDataPair "value" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'value
           (\ x__ y__ -> x__ {_PlutusDataPair'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PlutusDataPair "maybe'value" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'value
           (\ x__ y__ -> x__ {_PlutusDataPair'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message PlutusDataPair where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PlutusDataPair"
  packedMessageDescriptor _
    = "\n\
      \\SOPlutusDataPair\DC24\n\
      \\ETXkey\CAN\SOH \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ETXkey\DC28\n\
      \\ENQvalue\CAN\STX \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ENQvalue"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'key")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataPair
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataPair
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusDataPair'_unknownFields
        (\ x__ y__ -> x__ {_PlutusDataPair'_unknownFields = y__})
  defMessage
    = PlutusDataPair'_constructor
        {_PlutusDataPair'key = Prelude.Nothing,
         _PlutusDataPair'value = Prelude.Nothing,
         _PlutusDataPair'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusDataPair
          -> Data.ProtoLens.Encoding.Bytes.Parser PlutusDataPair
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        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) "PlutusDataPair"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'key") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PlutusDataPair where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusDataPair'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PlutusDataPair'key x__)
                (Control.DeepSeq.deepseq (_PlutusDataPair'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.url' @:: Lens' PoolMetadata Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hash' @:: Lens' PoolMetadata Data.ByteString.ByteString@ -}
data PoolMetadata
  = PoolMetadata'_constructor {_PoolMetadata'url :: !Data.Text.Text,
                               _PoolMetadata'hash :: !Data.ByteString.ByteString,
                               _PoolMetadata'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolMetadata where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolMetadata "url" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolMetadata'url (\ x__ y__ -> x__ {_PoolMetadata'url = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolMetadata "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolMetadata'hash (\ x__ y__ -> x__ {_PoolMetadata'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolMetadata where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PoolMetadata"
  packedMessageDescriptor _
    = "\n\
      \\fPoolMetadata\DC2\DLE\n\
      \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2\DC2\n\
      \\EOThash\CAN\STX \SOH(\fR\EOThash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        url__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "url"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"url")) ::
              Data.ProtoLens.FieldDescriptor PoolMetadata
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor PoolMetadata
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, url__field_descriptor),
           (Data.ProtoLens.Tag 2, hash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolMetadata'_unknownFields
        (\ x__ y__ -> x__ {_PoolMetadata'_unknownFields = y__})
  defMessage
    = PoolMetadata'_constructor
        {_PoolMetadata'url = Data.ProtoLens.fieldDefault,
         _PoolMetadata'hash = Data.ProtoLens.fieldDefault,
         _PoolMetadata'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolMetadata -> Data.ProtoLens.Encoding.Bytes.Parser PoolMetadata
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "url"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        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) "PoolMetadata"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"url") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PoolMetadata where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolMetadata'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolMetadata'url x__)
                (Control.DeepSeq.deepseq (_PoolMetadata'hash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.operator' @:: Lens' PoolRegistrationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vrfKeyhash' @:: Lens' PoolRegistrationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.pledge' @:: Lens' PoolRegistrationCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'pledge' @:: Lens' PoolRegistrationCert (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.cost' @:: Lens' PoolRegistrationCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'cost' @:: Lens' PoolRegistrationCert (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.margin' @:: Lens' PoolRegistrationCert RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'margin' @:: Lens' PoolRegistrationCert (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.rewardAccount' @:: Lens' PoolRegistrationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolOwners' @:: Lens' PoolRegistrationCert [Data.ByteString.ByteString]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'poolOwners' @:: Lens' PoolRegistrationCert (Data.Vector.Vector Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.relays' @:: Lens' PoolRegistrationCert [Relay]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'relays' @:: Lens' PoolRegistrationCert (Data.Vector.Vector Relay)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolMetadata' @:: Lens' PoolRegistrationCert PoolMetadata@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'poolMetadata' @:: Lens' PoolRegistrationCert (Prelude.Maybe PoolMetadata)@ -}
data PoolRegistrationCert
  = PoolRegistrationCert'_constructor {_PoolRegistrationCert'operator :: !Data.ByteString.ByteString,
                                       _PoolRegistrationCert'vrfKeyhash :: !Data.ByteString.ByteString,
                                       _PoolRegistrationCert'pledge :: !(Prelude.Maybe BigInt),
                                       _PoolRegistrationCert'cost :: !(Prelude.Maybe BigInt),
                                       _PoolRegistrationCert'margin :: !(Prelude.Maybe RationalNumber),
                                       _PoolRegistrationCert'rewardAccount :: !Data.ByteString.ByteString,
                                       _PoolRegistrationCert'poolOwners :: !(Data.Vector.Vector Data.ByteString.ByteString),
                                       _PoolRegistrationCert'relays :: !(Data.Vector.Vector Relay),
                                       _PoolRegistrationCert'poolMetadata :: !(Prelude.Maybe PoolMetadata),
                                       _PoolRegistrationCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolRegistrationCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "operator" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'operator
           (\ x__ y__ -> x__ {_PoolRegistrationCert'operator = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "vrfKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'vrfKeyhash
           (\ x__ y__ -> x__ {_PoolRegistrationCert'vrfKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "pledge" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'pledge
           (\ x__ y__ -> x__ {_PoolRegistrationCert'pledge = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "maybe'pledge" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'pledge
           (\ x__ y__ -> x__ {_PoolRegistrationCert'pledge = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "cost" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'cost
           (\ x__ y__ -> x__ {_PoolRegistrationCert'cost = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "maybe'cost" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'cost
           (\ x__ y__ -> x__ {_PoolRegistrationCert'cost = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "margin" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'margin
           (\ x__ y__ -> x__ {_PoolRegistrationCert'margin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "maybe'margin" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'margin
           (\ x__ y__ -> x__ {_PoolRegistrationCert'margin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'rewardAccount
           (\ x__ y__ -> x__ {_PoolRegistrationCert'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "poolOwners" [Data.ByteString.ByteString] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolOwners
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolOwners = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "vec'poolOwners" (Data.Vector.Vector Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolOwners
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolOwners = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "relays" [Relay] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'relays
           (\ x__ y__ -> x__ {_PoolRegistrationCert'relays = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "vec'relays" (Data.Vector.Vector Relay) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'relays
           (\ x__ y__ -> x__ {_PoolRegistrationCert'relays = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "poolMetadata" PoolMetadata where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolMetadata
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolMetadata = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "maybe'poolMetadata" (Prelude.Maybe PoolMetadata) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolMetadata
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolMetadata = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolRegistrationCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PoolRegistrationCert"
  packedMessageDescriptor _
    = "\n\
      \\DC4PoolRegistrationCert\DC2\SUB\n\
      \\boperator\CAN\SOH \SOH(\fR\boperator\DC2\US\n\
      \\vvrf_keyhash\CAN\STX \SOH(\fR\n\
      \vrfKeyhash\DC26\n\
      \\ACKpledge\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ACKpledge\DC22\n\
      \\EOTcost\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcost\DC2>\n\
      \\ACKmargin\CAN\ENQ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\ACKmargin\DC2%\n\
      \\SOreward_account\CAN\ACK \SOH(\fR\rrewardAccount\DC2\US\n\
      \\vpool_owners\CAN\a \ETX(\fR\n\
      \poolOwners\DC25\n\
      \\ACKrelays\CAN\b \ETX(\v2\GS.utxorpc.v1beta.cardano.RelayR\ACKrelays\DC2I\n\
      \\rpool_metadata\CAN\t \SOH(\v2$.utxorpc.v1beta.cardano.PoolMetadataR\fpoolMetadata"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        operator__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "operator"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"operator")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        vrfKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vrf_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"vrfKeyhash")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        pledge__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pledge"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'pledge")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        cost__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "cost"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'cost")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        margin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "margin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'margin")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        poolOwners__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_owners"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"poolOwners")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        relays__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "relays"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Relay)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"relays")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        poolMetadata__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_metadata"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolMetadata)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolMetadata")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, operator__field_descriptor),
           (Data.ProtoLens.Tag 2, vrfKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, pledge__field_descriptor),
           (Data.ProtoLens.Tag 4, cost__field_descriptor),
           (Data.ProtoLens.Tag 5, margin__field_descriptor),
           (Data.ProtoLens.Tag 6, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 7, poolOwners__field_descriptor),
           (Data.ProtoLens.Tag 8, relays__field_descriptor),
           (Data.ProtoLens.Tag 9, poolMetadata__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolRegistrationCert'_unknownFields
        (\ x__ y__ -> x__ {_PoolRegistrationCert'_unknownFields = y__})
  defMessage
    = PoolRegistrationCert'_constructor
        {_PoolRegistrationCert'operator = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'vrfKeyhash = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'pledge = Prelude.Nothing,
         _PoolRegistrationCert'cost = Prelude.Nothing,
         _PoolRegistrationCert'margin = Prelude.Nothing,
         _PoolRegistrationCert'rewardAccount = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'poolOwners = Data.Vector.Generic.empty,
         _PoolRegistrationCert'relays = Data.Vector.Generic.empty,
         _PoolRegistrationCert'poolMetadata = Prelude.Nothing,
         _PoolRegistrationCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolRegistrationCert
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.ByteString.ByteString
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Relay
                -> Data.ProtoLens.Encoding.Bytes.Parser PoolRegistrationCert
        loop x mutable'poolOwners mutable'relays
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'poolOwners <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                mutable'poolOwners)
                      frozen'relays <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'relays)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'poolOwners") frozen'poolOwners
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'relays") frozen'relays x)))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "operator"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"operator") y x)
                                  mutable'poolOwners mutable'relays
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "vrf_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"vrfKeyhash") y x)
                                  mutable'poolOwners mutable'relays
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pledge"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"pledge") y x)
                                  mutable'poolOwners mutable'relays
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "cost"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"cost") y x)
                                  mutable'poolOwners mutable'relays
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "margin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"margin") y x)
                                  mutable'poolOwners mutable'relays
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                                  mutable'poolOwners mutable'relays
                        58
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.getBytes
                                              (Prelude.fromIntegral len))
                                        "pool_owners"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'poolOwners y)
                                loop x v mutable'relays
                        66
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "relays"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'relays y)
                                loop x mutable'poolOwners v
                        74
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_metadata"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolMetadata") y x)
                                  mutable'poolOwners mutable'relays
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'poolOwners mutable'relays
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'poolOwners <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                      Data.ProtoLens.Encoding.Growing.new
              mutable'relays <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'poolOwners mutable'relays)
          "PoolRegistrationCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"operator") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"vrfKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'pledge") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'cost") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'margin") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         ((Data.Monoid.<>)
                            (let
                               _v
                                 = Lens.Family2.view
                                     (Data.ProtoLens.Field.field @"rewardAccount") _x
                             in
                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                   Data.Monoid.mempty
                               else
                                   (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                     ((\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                        _v))
                            ((Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                                  (\ _v
                                     -> (Data.Monoid.<>)
                                          (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                          ((\ bs
                                              -> (Data.Monoid.<>)
                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                      (Prelude.fromIntegral
                                                         (Data.ByteString.length bs)))
                                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                             _v))
                                  (Lens.Family2.view
                                     (Data.ProtoLens.Field.field @"vec'poolOwners") _x))
                               ((Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                                     (\ _v
                                        -> (Data.Monoid.<>)
                                             (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                             ((Prelude..)
                                                (\ bs
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                           (Prelude.fromIntegral
                                                              (Data.ByteString.length bs)))
                                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                                Data.ProtoLens.encodeMessage _v))
                                     (Lens.Family2.view
                                        (Data.ProtoLens.Field.field @"vec'relays") _x))
                                  ((Data.Monoid.<>)
                                     (case
                                          Lens.Family2.view
                                            (Data.ProtoLens.Field.field @"maybe'poolMetadata") _x
                                      of
                                        Prelude.Nothing -> Data.Monoid.mempty
                                        (Prelude.Just _v)
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                                               ((Prelude..)
                                                  (\ bs
                                                     -> (Data.Monoid.<>)
                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                             (Prelude.fromIntegral
                                                                (Data.ByteString.length bs)))
                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                             bs))
                                                  Data.ProtoLens.encodeMessage _v))
                                     (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                        (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))))
instance Control.DeepSeq.NFData PoolRegistrationCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolRegistrationCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolRegistrationCert'operator x__)
                (Control.DeepSeq.deepseq
                   (_PoolRegistrationCert'vrfKeyhash x__)
                   (Control.DeepSeq.deepseq
                      (_PoolRegistrationCert'pledge x__)
                      (Control.DeepSeq.deepseq
                         (_PoolRegistrationCert'cost x__)
                         (Control.DeepSeq.deepseq
                            (_PoolRegistrationCert'margin x__)
                            (Control.DeepSeq.deepseq
                               (_PoolRegistrationCert'rewardAccount x__)
                               (Control.DeepSeq.deepseq
                                  (_PoolRegistrationCert'poolOwners x__)
                                  (Control.DeepSeq.deepseq
                                     (_PoolRegistrationCert'relays x__)
                                     (Control.DeepSeq.deepseq
                                        (_PoolRegistrationCert'poolMetadata x__) ())))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.operator' @:: Lens' PoolRegistrationPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' PoolRegistrationPattern Data.ByteString.ByteString@ -}
data PoolRegistrationPattern
  = PoolRegistrationPattern'_constructor {_PoolRegistrationPattern'operator :: !Data.ByteString.ByteString,
                                          _PoolRegistrationPattern'poolKeyhash :: !Data.ByteString.ByteString,
                                          _PoolRegistrationPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolRegistrationPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolRegistrationPattern "operator" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationPattern'operator
           (\ x__ y__ -> x__ {_PoolRegistrationPattern'operator = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationPattern "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationPattern'poolKeyhash
           (\ x__ y__ -> x__ {_PoolRegistrationPattern'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolRegistrationPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PoolRegistrationPattern"
  packedMessageDescriptor _
    = "\n\
      \\ETBPoolRegistrationPattern\DC2\SUB\n\
      \\boperator\CAN\SOH \SOH(\fR\boperator\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        operator__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "operator"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"operator")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationPattern
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, operator__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolRegistrationPattern'_unknownFields
        (\ x__ y__ -> x__ {_PoolRegistrationPattern'_unknownFields = y__})
  defMessage
    = PoolRegistrationPattern'_constructor
        {_PoolRegistrationPattern'operator = Data.ProtoLens.fieldDefault,
         _PoolRegistrationPattern'poolKeyhash = Data.ProtoLens.fieldDefault,
         _PoolRegistrationPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolRegistrationPattern
          -> Data.ProtoLens.Encoding.Bytes.Parser PoolRegistrationPattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "operator"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"operator") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        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) "PoolRegistrationPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"operator") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PoolRegistrationPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolRegistrationPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolRegistrationPattern'operator x__)
                (Control.DeepSeq.deepseq
                   (_PoolRegistrationPattern'poolKeyhash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' PoolRetirementCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.epoch' @:: Lens' PoolRetirementCert Data.Word.Word64@ -}
data PoolRetirementCert
  = PoolRetirementCert'_constructor {_PoolRetirementCert'poolKeyhash :: !Data.ByteString.ByteString,
                                     _PoolRetirementCert'epoch :: !Data.Word.Word64,
                                     _PoolRetirementCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolRetirementCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolRetirementCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRetirementCert'poolKeyhash
           (\ x__ y__ -> x__ {_PoolRetirementCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRetirementCert "epoch" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRetirementCert'epoch
           (\ x__ y__ -> x__ {_PoolRetirementCert'epoch = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolRetirementCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PoolRetirementCert"
  packedMessageDescriptor _
    = "\n\
      \\DC2PoolRetirementCert\DC2!\n\
      \\fpool_keyhash\CAN\SOH \SOH(\fR\vpoolKeyhash\DC2\DC4\n\
      \\ENQepoch\CAN\STX \SOH(\EOTR\ENQepoch"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor PoolRetirementCert
        epoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"epoch")) ::
              Data.ProtoLens.FieldDescriptor PoolRetirementCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 2, epoch__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolRetirementCert'_unknownFields
        (\ x__ y__ -> x__ {_PoolRetirementCert'_unknownFields = y__})
  defMessage
    = PoolRetirementCert'_constructor
        {_PoolRetirementCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _PoolRetirementCert'epoch = Data.ProtoLens.fieldDefault,
         _PoolRetirementCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolRetirementCert
          -> Data.ProtoLens.Encoding.Bytes.Parser PoolRetirementCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "epoch"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"epoch") y x)
                        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) "PoolRetirementCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"epoch") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PoolRetirementCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolRetirementCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolRetirementCert'poolKeyhash x__)
                (Control.DeepSeq.deepseq (_PoolRetirementCert'epoch x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' PoolRetirementPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.epoch' @:: Lens' PoolRetirementPattern Data.Word.Word64@ -}
data PoolRetirementPattern
  = PoolRetirementPattern'_constructor {_PoolRetirementPattern'poolKeyhash :: !Data.ByteString.ByteString,
                                        _PoolRetirementPattern'epoch :: !Data.Word.Word64,
                                        _PoolRetirementPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolRetirementPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolRetirementPattern "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRetirementPattern'poolKeyhash
           (\ x__ y__ -> x__ {_PoolRetirementPattern'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRetirementPattern "epoch" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRetirementPattern'epoch
           (\ x__ y__ -> x__ {_PoolRetirementPattern'epoch = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolRetirementPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PoolRetirementPattern"
  packedMessageDescriptor _
    = "\n\
      \\NAKPoolRetirementPattern\DC2!\n\
      \\fpool_keyhash\CAN\SOH \SOH(\fR\vpoolKeyhash\DC2\DC4\n\
      \\ENQepoch\CAN\STX \SOH(\EOTR\ENQepoch"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor PoolRetirementPattern
        epoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"epoch")) ::
              Data.ProtoLens.FieldDescriptor PoolRetirementPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 2, epoch__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolRetirementPattern'_unknownFields
        (\ x__ y__ -> x__ {_PoolRetirementPattern'_unknownFields = y__})
  defMessage
    = PoolRetirementPattern'_constructor
        {_PoolRetirementPattern'poolKeyhash = Data.ProtoLens.fieldDefault,
         _PoolRetirementPattern'epoch = Data.ProtoLens.fieldDefault,
         _PoolRetirementPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolRetirementPattern
          -> Data.ProtoLens.Encoding.Bytes.Parser PoolRetirementPattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "epoch"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"epoch") y x)
                        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) "PoolRetirementPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"epoch") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PoolRetirementPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolRetirementPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolRetirementPattern'poolKeyhash x__)
                (Control.DeepSeq.deepseq (_PoolRetirementPattern'epoch x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.motionNoConfidence' @:: Lens' PoolVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'motionNoConfidence' @:: Lens' PoolVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeNormal' @:: Lens' PoolVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeNormal' @:: Lens' PoolVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeNoConfidence' @:: Lens' PoolVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeNoConfidence' @:: Lens' PoolVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hardForkInitiation' @:: Lens' PoolVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'hardForkInitiation' @:: Lens' PoolVotingThresholds (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ppSecurityGroup' @:: Lens' PoolVotingThresholds RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'ppSecurityGroup' @:: Lens' PoolVotingThresholds (Prelude.Maybe RationalNumber)@ -}
data PoolVotingThresholds
  = PoolVotingThresholds'_constructor {_PoolVotingThresholds'motionNoConfidence :: !(Prelude.Maybe RationalNumber),
                                       _PoolVotingThresholds'committeeNormal :: !(Prelude.Maybe RationalNumber),
                                       _PoolVotingThresholds'committeeNoConfidence :: !(Prelude.Maybe RationalNumber),
                                       _PoolVotingThresholds'hardForkInitiation :: !(Prelude.Maybe RationalNumber),
                                       _PoolVotingThresholds'ppSecurityGroup :: !(Prelude.Maybe RationalNumber),
                                       _PoolVotingThresholds'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolVotingThresholds where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "motionNoConfidence" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'motionNoConfidence
           (\ x__ y__
              -> x__ {_PoolVotingThresholds'motionNoConfidence = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "maybe'motionNoConfidence" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'motionNoConfidence
           (\ x__ y__
              -> x__ {_PoolVotingThresholds'motionNoConfidence = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "committeeNormal" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'committeeNormal
           (\ x__ y__ -> x__ {_PoolVotingThresholds'committeeNormal = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "maybe'committeeNormal" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'committeeNormal
           (\ x__ y__ -> x__ {_PoolVotingThresholds'committeeNormal = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "committeeNoConfidence" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'committeeNoConfidence
           (\ x__ y__
              -> x__ {_PoolVotingThresholds'committeeNoConfidence = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "maybe'committeeNoConfidence" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'committeeNoConfidence
           (\ x__ y__
              -> x__ {_PoolVotingThresholds'committeeNoConfidence = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "hardForkInitiation" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'hardForkInitiation
           (\ x__ y__
              -> x__ {_PoolVotingThresholds'hardForkInitiation = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "maybe'hardForkInitiation" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'hardForkInitiation
           (\ x__ y__
              -> x__ {_PoolVotingThresholds'hardForkInitiation = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "ppSecurityGroup" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'ppSecurityGroup
           (\ x__ y__ -> x__ {_PoolVotingThresholds'ppSecurityGroup = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolVotingThresholds "maybe'ppSecurityGroup" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolVotingThresholds'ppSecurityGroup
           (\ x__ y__ -> x__ {_PoolVotingThresholds'ppSecurityGroup = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolVotingThresholds where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.PoolVotingThresholds"
  packedMessageDescriptor _
    = "\n\
      \\DC4PoolVotingThresholds\DC2X\n\
      \\DC4motion_no_confidence\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2motionNoConfidence\DC2Q\n\
      \\DLEcommittee_normal\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIcommitteeNormal\DC2^\n\
      \\ETBcommittee_no_confidence\CAN\ETX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\NAKcommitteeNoConfidence\DC2X\n\
      \\DC4hard_fork_initiation\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2hardForkInitiation\DC2R\n\
      \\DC1pp_security_group\CAN\ENQ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIppSecurityGroup"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        motionNoConfidence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "motion_no_confidence"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'motionNoConfidence")) ::
              Data.ProtoLens.FieldDescriptor PoolVotingThresholds
        committeeNormal__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_normal"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeNormal")) ::
              Data.ProtoLens.FieldDescriptor PoolVotingThresholds
        committeeNoConfidence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_no_confidence"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeNoConfidence")) ::
              Data.ProtoLens.FieldDescriptor PoolVotingThresholds
        hardForkInitiation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hard_fork_initiation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'hardForkInitiation")) ::
              Data.ProtoLens.FieldDescriptor PoolVotingThresholds
        ppSecurityGroup__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pp_security_group"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'ppSecurityGroup")) ::
              Data.ProtoLens.FieldDescriptor PoolVotingThresholds
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, motionNoConfidence__field_descriptor),
           (Data.ProtoLens.Tag 2, committeeNormal__field_descriptor),
           (Data.ProtoLens.Tag 3, committeeNoConfidence__field_descriptor),
           (Data.ProtoLens.Tag 4, hardForkInitiation__field_descriptor),
           (Data.ProtoLens.Tag 5, ppSecurityGroup__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolVotingThresholds'_unknownFields
        (\ x__ y__ -> x__ {_PoolVotingThresholds'_unknownFields = y__})
  defMessage
    = PoolVotingThresholds'_constructor
        {_PoolVotingThresholds'motionNoConfidence = Prelude.Nothing,
         _PoolVotingThresholds'committeeNormal = Prelude.Nothing,
         _PoolVotingThresholds'committeeNoConfidence = Prelude.Nothing,
         _PoolVotingThresholds'hardForkInitiation = Prelude.Nothing,
         _PoolVotingThresholds'ppSecurityGroup = Prelude.Nothing,
         _PoolVotingThresholds'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolVotingThresholds
          -> Data.ProtoLens.Encoding.Bytes.Parser PoolVotingThresholds
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "motion_no_confidence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"motionNoConfidence") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_normal"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeNormal") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_no_confidence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeNoConfidence") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "hard_fork_initiation"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"hardForkInitiation") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pp_security_group"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"ppSecurityGroup") y x)
                        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) "PoolVotingThresholds"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'motionNoConfidence") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'committeeNormal") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'committeeNoConfidence") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'hardForkInitiation") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view
                                (Data.ProtoLens.Field.field @"maybe'ppSecurityGroup") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData PoolVotingThresholds where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolVotingThresholds'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolVotingThresholds'motionNoConfidence x__)
                (Control.DeepSeq.deepseq
                   (_PoolVotingThresholds'committeeNormal x__)
                   (Control.DeepSeq.deepseq
                      (_PoolVotingThresholds'committeeNoConfidence x__)
                      (Control.DeepSeq.deepseq
                         (_PoolVotingThresholds'hardForkInitiation x__)
                         (Control.DeepSeq.deepseq
                            (_PoolVotingThresholds'ppSecurityGroup x__) ())))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.k' @:: Lens' ProtocolConsts Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.protocolMagic' @:: Lens' ProtocolConsts Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vssMaxTtl' @:: Lens' ProtocolConsts Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vssMinTtl' @:: Lens' ProtocolConsts Data.Word.Word32@ -}
data ProtocolConsts
  = ProtocolConsts'_constructor {_ProtocolConsts'k :: !Data.Word.Word32,
                                 _ProtocolConsts'protocolMagic :: !Data.Word.Word32,
                                 _ProtocolConsts'vssMaxTtl :: !Data.Word.Word32,
                                 _ProtocolConsts'vssMinTtl :: !Data.Word.Word32,
                                 _ProtocolConsts'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ProtocolConsts where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ProtocolConsts "k" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolConsts'k (\ x__ y__ -> x__ {_ProtocolConsts'k = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ProtocolConsts "protocolMagic" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolConsts'protocolMagic
           (\ x__ y__ -> x__ {_ProtocolConsts'protocolMagic = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ProtocolConsts "vssMaxTtl" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolConsts'vssMaxTtl
           (\ x__ y__ -> x__ {_ProtocolConsts'vssMaxTtl = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ProtocolConsts "vssMinTtl" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolConsts'vssMinTtl
           (\ x__ y__ -> x__ {_ProtocolConsts'vssMinTtl = y__}))
        Prelude.id
instance Data.ProtoLens.Message ProtocolConsts where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.ProtocolConsts"
  packedMessageDescriptor _
    = "\n\
      \\SOProtocolConsts\DC2\f\n\
      \\SOHk\CAN\SOH \SOH(\rR\SOHk\DC2%\n\
      \\SOprotocol_magic\CAN\STX \SOH(\rR\rprotocolMagic\DC2\RS\n\
      \\vvss_max_ttl\CAN\ETX \SOH(\rR\tvssMaxTtl\DC2\RS\n\
      \\vvss_min_ttl\CAN\EOT \SOH(\rR\tvssMinTtl"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        k__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "k"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"k")) ::
              Data.ProtoLens.FieldDescriptor ProtocolConsts
        protocolMagic__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_magic"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"protocolMagic")) ::
              Data.ProtoLens.FieldDescriptor ProtocolConsts
        vssMaxTtl__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vss_max_ttl"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"vssMaxTtl")) ::
              Data.ProtoLens.FieldDescriptor ProtocolConsts
        vssMinTtl__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vss_min_ttl"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"vssMinTtl")) ::
              Data.ProtoLens.FieldDescriptor ProtocolConsts
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, k__field_descriptor),
           (Data.ProtoLens.Tag 2, protocolMagic__field_descriptor),
           (Data.ProtoLens.Tag 3, vssMaxTtl__field_descriptor),
           (Data.ProtoLens.Tag 4, vssMinTtl__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ProtocolConsts'_unknownFields
        (\ x__ y__ -> x__ {_ProtocolConsts'_unknownFields = y__})
  defMessage
    = ProtocolConsts'_constructor
        {_ProtocolConsts'k = Data.ProtoLens.fieldDefault,
         _ProtocolConsts'protocolMagic = Data.ProtoLens.fieldDefault,
         _ProtocolConsts'vssMaxTtl = Data.ProtoLens.fieldDefault,
         _ProtocolConsts'vssMinTtl = Data.ProtoLens.fieldDefault,
         _ProtocolConsts'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ProtocolConsts
          -> Data.ProtoLens.Encoding.Bytes.Parser ProtocolConsts
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "k"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"k") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "protocol_magic"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolMagic") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "vss_max_ttl"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"vssMaxTtl") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "vss_min_ttl"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"vssMinTtl") y x)
                        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) "ProtocolConsts"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"k") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"protocolMagic") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"vssMaxTtl") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            ((Prelude..)
                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                   ((Data.Monoid.<>)
                      (let
                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"vssMinTtl") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                               ((Prelude..)
                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData ProtocolConsts where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ProtocolConsts'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ProtocolConsts'k x__)
                (Control.DeepSeq.deepseq
                   (_ProtocolConsts'protocolMagic x__)
                   (Control.DeepSeq.deepseq
                      (_ProtocolConsts'vssMaxTtl x__)
                      (Control.DeepSeq.deepseq (_ProtocolConsts'vssMinTtl x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.major' @:: Lens' ProtocolVersion Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minor' @:: Lens' ProtocolVersion Data.Word.Word32@ -}
data ProtocolVersion
  = ProtocolVersion'_constructor {_ProtocolVersion'major :: !Data.Word.Word32,
                                  _ProtocolVersion'minor :: !Data.Word.Word32,
                                  _ProtocolVersion'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ProtocolVersion where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ProtocolVersion "major" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolVersion'major
           (\ x__ y__ -> x__ {_ProtocolVersion'major = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ProtocolVersion "minor" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolVersion'minor
           (\ x__ y__ -> x__ {_ProtocolVersion'minor = y__}))
        Prelude.id
instance Data.ProtoLens.Message ProtocolVersion where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.ProtocolVersion"
  packedMessageDescriptor _
    = "\n\
      \\SIProtocolVersion\DC2\DC4\n\
      \\ENQmajor\CAN\SOH \SOH(\rR\ENQmajor\DC2\DC4\n\
      \\ENQminor\CAN\STX \SOH(\rR\ENQminor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        major__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "major"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"major")) ::
              Data.ProtoLens.FieldDescriptor ProtocolVersion
        minor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "minor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"minor")) ::
              Data.ProtoLens.FieldDescriptor ProtocolVersion
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, major__field_descriptor),
           (Data.ProtoLens.Tag 2, minor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ProtocolVersion'_unknownFields
        (\ x__ y__ -> x__ {_ProtocolVersion'_unknownFields = y__})
  defMessage
    = ProtocolVersion'_constructor
        {_ProtocolVersion'major = Data.ProtoLens.fieldDefault,
         _ProtocolVersion'minor = Data.ProtoLens.fieldDefault,
         _ProtocolVersion'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ProtocolVersion
          -> Data.ProtoLens.Encoding.Bytes.Parser ProtocolVersion
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "major"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"major") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "minor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"minor") y x)
                        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) "ProtocolVersion"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"major") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"minor") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ProtocolVersion where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ProtocolVersion'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ProtocolVersion'major x__)
                (Control.DeepSeq.deepseq (_ProtocolVersion'minor x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.numerator' @:: Lens' RationalNumber Data.Int.Int32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.denominator' @:: Lens' RationalNumber Data.Word.Word32@ -}
data RationalNumber
  = RationalNumber'_constructor {_RationalNumber'numerator :: !Data.Int.Int32,
                                 _RationalNumber'denominator :: !Data.Word.Word32,
                                 _RationalNumber'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show RationalNumber where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField RationalNumber "numerator" Data.Int.Int32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RationalNumber'numerator
           (\ x__ y__ -> x__ {_RationalNumber'numerator = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RationalNumber "denominator" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RationalNumber'denominator
           (\ x__ y__ -> x__ {_RationalNumber'denominator = y__}))
        Prelude.id
instance Data.ProtoLens.Message RationalNumber where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.RationalNumber"
  packedMessageDescriptor _
    = "\n\
      \\SORationalNumber\DC2\FS\n\
      \\tnumerator\CAN\SOH \SOH(\ENQR\tnumerator\DC2 \n\
      \\vdenominator\CAN\STX \SOH(\rR\vdenominator"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        numerator__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "numerator"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"numerator")) ::
              Data.ProtoLens.FieldDescriptor RationalNumber
        denominator__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "denominator"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"denominator")) ::
              Data.ProtoLens.FieldDescriptor RationalNumber
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, numerator__field_descriptor),
           (Data.ProtoLens.Tag 2, denominator__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _RationalNumber'_unknownFields
        (\ x__ y__ -> x__ {_RationalNumber'_unknownFields = y__})
  defMessage
    = RationalNumber'_constructor
        {_RationalNumber'numerator = Data.ProtoLens.fieldDefault,
         _RationalNumber'denominator = Data.ProtoLens.fieldDefault,
         _RationalNumber'_unknownFields = []}
  parseMessage
    = let
        loop ::
          RationalNumber
          -> Data.ProtoLens.Encoding.Bytes.Parser RationalNumber
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "numerator"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"numerator") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "denominator"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"denominator") y x)
                        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) "RationalNumber"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"numerator") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"denominator") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData RationalNumber where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_RationalNumber'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_RationalNumber'numerator x__)
                (Control.DeepSeq.deepseq (_RationalNumber'denominator x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.purpose' @:: Lens' Redeemer RedeemerPurpose@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.payload' @:: Lens' Redeemer PlutusData@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'payload' @:: Lens' Redeemer (Prelude.Maybe PlutusData)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.index' @:: Lens' Redeemer Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.exUnits' @:: Lens' Redeemer ExUnits@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'exUnits' @:: Lens' Redeemer (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.originalCbor' @:: Lens' Redeemer Data.ByteString.ByteString@ -}
data Redeemer
  = Redeemer'_constructor {_Redeemer'purpose :: !RedeemerPurpose,
                           _Redeemer'payload :: !(Prelude.Maybe PlutusData),
                           _Redeemer'index :: !Data.Word.Word32,
                           _Redeemer'exUnits :: !(Prelude.Maybe ExUnits),
                           _Redeemer'originalCbor :: !Data.ByteString.ByteString,
                           _Redeemer'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Redeemer where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Redeemer "purpose" RedeemerPurpose where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'purpose (\ x__ y__ -> x__ {_Redeemer'purpose = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "payload" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'payload (\ x__ y__ -> x__ {_Redeemer'payload = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Redeemer "maybe'payload" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'payload (\ x__ y__ -> x__ {_Redeemer'payload = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "index" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'index (\ x__ y__ -> x__ {_Redeemer'index = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "exUnits" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'exUnits (\ x__ y__ -> x__ {_Redeemer'exUnits = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Redeemer "maybe'exUnits" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'exUnits (\ x__ y__ -> x__ {_Redeemer'exUnits = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "originalCbor" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'originalCbor
           (\ x__ y__ -> x__ {_Redeemer'originalCbor = y__}))
        Prelude.id
instance Data.ProtoLens.Message Redeemer where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Redeemer"
  packedMessageDescriptor _
    = "\n\
      \\bRedeemer\DC2A\n\
      \\apurpose\CAN\SOH \SOH(\SO2'.utxorpc.v1beta.cardano.RedeemerPurposeR\apurpose\DC2<\n\
      \\apayload\CAN\STX \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataR\apayload\DC2\DC4\n\
      \\ENQindex\CAN\ETX \SOH(\rR\ENQindex\DC2:\n\
      \\bex_units\CAN\EOT \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\aexUnits\DC2#\n\
      \\roriginal_cbor\CAN\ENQ \SOH(\fR\foriginalCbor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        purpose__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "purpose"
              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
                 Data.ProtoLens.FieldTypeDescriptor RedeemerPurpose)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"purpose")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        payload__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "payload"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'payload")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        index__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "index"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"index")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        exUnits__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ex_units"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'exUnits")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        originalCbor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "original_cbor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"originalCbor")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, purpose__field_descriptor),
           (Data.ProtoLens.Tag 2, payload__field_descriptor),
           (Data.ProtoLens.Tag 3, index__field_descriptor),
           (Data.ProtoLens.Tag 4, exUnits__field_descriptor),
           (Data.ProtoLens.Tag 5, originalCbor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Redeemer'_unknownFields
        (\ x__ y__ -> x__ {_Redeemer'_unknownFields = y__})
  defMessage
    = Redeemer'_constructor
        {_Redeemer'purpose = Data.ProtoLens.fieldDefault,
         _Redeemer'payload = Prelude.Nothing,
         _Redeemer'index = Data.ProtoLens.fieldDefault,
         _Redeemer'exUnits = Prelude.Nothing,
         _Redeemer'originalCbor = Data.ProtoLens.fieldDefault,
         _Redeemer'_unknownFields = []}
  parseMessage
    = let
        loop :: Redeemer -> Data.ProtoLens.Encoding.Bytes.Parser Redeemer
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.toEnum
                                          (Prelude.fmap
                                             Prelude.fromIntegral
                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
                                       "purpose"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"purpose") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "payload"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"payload") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "index"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"index") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "ex_units"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"exUnits") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "original_cbor"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"originalCbor") y x)
                        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) "Redeemer"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"purpose") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
                         Prelude.fromEnum _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'payload") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"index") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            ((Prelude..)
                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'exUnits") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (let
                            _v
                              = Lens.Family2.view (Data.ProtoLens.Field.field @"originalCbor") _x
                          in
                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                Data.Monoid.mempty
                            else
                                (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                  ((\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                     _v))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData Redeemer where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Redeemer'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Redeemer'purpose x__)
                (Control.DeepSeq.deepseq
                   (_Redeemer'payload x__)
                   (Control.DeepSeq.deepseq
                      (_Redeemer'index x__)
                      (Control.DeepSeq.deepseq
                         (_Redeemer'exUnits x__)
                         (Control.DeepSeq.deepseq (_Redeemer'originalCbor x__) ())))))
newtype RedeemerPurpose'UnrecognizedValue
  = RedeemerPurpose'UnrecognizedValue Data.Int.Int32
  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
data RedeemerPurpose
  = REDEEMER_PURPOSE_UNSPECIFIED |
    REDEEMER_PURPOSE_SPEND |
    REDEEMER_PURPOSE_MINT |
    REDEEMER_PURPOSE_CERT |
    REDEEMER_PURPOSE_REWARD |
    REDEEMER_PURPOSE_VOTE |
    REDEEMER_PURPOSE_PROPOSE |
    RedeemerPurpose'Unrecognized !RedeemerPurpose'UnrecognizedValue
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.MessageEnum RedeemerPurpose where
  maybeToEnum 0 = Prelude.Just REDEEMER_PURPOSE_UNSPECIFIED
  maybeToEnum 1 = Prelude.Just REDEEMER_PURPOSE_SPEND
  maybeToEnum 2 = Prelude.Just REDEEMER_PURPOSE_MINT
  maybeToEnum 3 = Prelude.Just REDEEMER_PURPOSE_CERT
  maybeToEnum 4 = Prelude.Just REDEEMER_PURPOSE_REWARD
  maybeToEnum 5 = Prelude.Just REDEEMER_PURPOSE_VOTE
  maybeToEnum 6 = Prelude.Just REDEEMER_PURPOSE_PROPOSE
  maybeToEnum k
    = Prelude.Just
        (RedeemerPurpose'Unrecognized
           (RedeemerPurpose'UnrecognizedValue (Prelude.fromIntegral k)))
  showEnum REDEEMER_PURPOSE_UNSPECIFIED
    = "REDEEMER_PURPOSE_UNSPECIFIED"
  showEnum REDEEMER_PURPOSE_SPEND = "REDEEMER_PURPOSE_SPEND"
  showEnum REDEEMER_PURPOSE_MINT = "REDEEMER_PURPOSE_MINT"
  showEnum REDEEMER_PURPOSE_CERT = "REDEEMER_PURPOSE_CERT"
  showEnum REDEEMER_PURPOSE_REWARD = "REDEEMER_PURPOSE_REWARD"
  showEnum REDEEMER_PURPOSE_VOTE = "REDEEMER_PURPOSE_VOTE"
  showEnum REDEEMER_PURPOSE_PROPOSE = "REDEEMER_PURPOSE_PROPOSE"
  showEnum
    (RedeemerPurpose'Unrecognized (RedeemerPurpose'UnrecognizedValue k))
    = Prelude.show k
  readEnum k
    | (Prelude.==) k "REDEEMER_PURPOSE_UNSPECIFIED"
    = Prelude.Just REDEEMER_PURPOSE_UNSPECIFIED
    | (Prelude.==) k "REDEEMER_PURPOSE_SPEND"
    = Prelude.Just REDEEMER_PURPOSE_SPEND
    | (Prelude.==) k "REDEEMER_PURPOSE_MINT"
    = Prelude.Just REDEEMER_PURPOSE_MINT
    | (Prelude.==) k "REDEEMER_PURPOSE_CERT"
    = Prelude.Just REDEEMER_PURPOSE_CERT
    | (Prelude.==) k "REDEEMER_PURPOSE_REWARD"
    = Prelude.Just REDEEMER_PURPOSE_REWARD
    | (Prelude.==) k "REDEEMER_PURPOSE_VOTE"
    = Prelude.Just REDEEMER_PURPOSE_VOTE
    | (Prelude.==) k "REDEEMER_PURPOSE_PROPOSE"
    = Prelude.Just REDEEMER_PURPOSE_PROPOSE
    | Prelude.otherwise
    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
instance Prelude.Bounded RedeemerPurpose where
  minBound = REDEEMER_PURPOSE_UNSPECIFIED
  maxBound = REDEEMER_PURPOSE_PROPOSE
instance Prelude.Enum RedeemerPurpose where
  toEnum k__
    = Prelude.maybe
        (Prelude.error
           ((Prelude.++)
              "toEnum: unknown value for enum RedeemerPurpose: "
              (Prelude.show k__)))
        Prelude.id (Data.ProtoLens.maybeToEnum k__)
  fromEnum REDEEMER_PURPOSE_UNSPECIFIED = 0
  fromEnum REDEEMER_PURPOSE_SPEND = 1
  fromEnum REDEEMER_PURPOSE_MINT = 2
  fromEnum REDEEMER_PURPOSE_CERT = 3
  fromEnum REDEEMER_PURPOSE_REWARD = 4
  fromEnum REDEEMER_PURPOSE_VOTE = 5
  fromEnum REDEEMER_PURPOSE_PROPOSE = 6
  fromEnum
    (RedeemerPurpose'Unrecognized (RedeemerPurpose'UnrecognizedValue k))
    = Prelude.fromIntegral k
  succ REDEEMER_PURPOSE_PROPOSE
    = Prelude.error
        "RedeemerPurpose.succ: bad argument REDEEMER_PURPOSE_PROPOSE. This value would be out of bounds."
  succ REDEEMER_PURPOSE_UNSPECIFIED = REDEEMER_PURPOSE_SPEND
  succ REDEEMER_PURPOSE_SPEND = REDEEMER_PURPOSE_MINT
  succ REDEEMER_PURPOSE_MINT = REDEEMER_PURPOSE_CERT
  succ REDEEMER_PURPOSE_CERT = REDEEMER_PURPOSE_REWARD
  succ REDEEMER_PURPOSE_REWARD = REDEEMER_PURPOSE_VOTE
  succ REDEEMER_PURPOSE_VOTE = REDEEMER_PURPOSE_PROPOSE
  succ (RedeemerPurpose'Unrecognized _)
    = Prelude.error
        "RedeemerPurpose.succ: bad argument: unrecognized value"
  pred REDEEMER_PURPOSE_UNSPECIFIED
    = Prelude.error
        "RedeemerPurpose.pred: bad argument REDEEMER_PURPOSE_UNSPECIFIED. This value would be out of bounds."
  pred REDEEMER_PURPOSE_SPEND = REDEEMER_PURPOSE_UNSPECIFIED
  pred REDEEMER_PURPOSE_MINT = REDEEMER_PURPOSE_SPEND
  pred REDEEMER_PURPOSE_CERT = REDEEMER_PURPOSE_MINT
  pred REDEEMER_PURPOSE_REWARD = REDEEMER_PURPOSE_CERT
  pred REDEEMER_PURPOSE_VOTE = REDEEMER_PURPOSE_REWARD
  pred REDEEMER_PURPOSE_PROPOSE = REDEEMER_PURPOSE_VOTE
  pred (RedeemerPurpose'Unrecognized _)
    = Prelude.error
        "RedeemerPurpose.pred: bad argument: unrecognized value"
  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 RedeemerPurpose where
  fieldDefault = REDEEMER_PURPOSE_UNSPECIFIED
instance Control.DeepSeq.NFData RedeemerPurpose where
  rnf x__ = Prelude.seq x__ ()
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' RegCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' RegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' RegCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' RegCert (Prelude.Maybe BigInt)@ -}
data RegCert
  = RegCert'_constructor {_RegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                          _RegCert'coin :: !(Prelude.Maybe BigInt),
                          _RegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show RegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField RegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegCert'stakeCredential
           (\ x__ y__ -> x__ {_RegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegCert'stakeCredential
           (\ x__ y__ -> x__ {_RegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RegCert "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegCert'coin (\ x__ y__ -> x__ {_RegCert'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegCert "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegCert'coin (\ x__ y__ -> x__ {_RegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message RegCert where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.RegCert"
  packedMessageDescriptor _
    = "\n\
      \\aRegCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC22\n\
      \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor RegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor RegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _RegCert'_unknownFields
        (\ x__ y__ -> x__ {_RegCert'_unknownFields = y__})
  defMessage
    = RegCert'_constructor
        {_RegCert'stakeCredential = Prelude.Nothing,
         _RegCert'coin = Prelude.Nothing, _RegCert'_unknownFields = []}
  parseMessage
    = let
        loop :: RegCert -> Data.ProtoLens.Encoding.Bytes.Parser RegCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        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) "RegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData RegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_RegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_RegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq (_RegCert'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepCredential' @:: Lens' RegDRepCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drepCredential' @:: Lens' RegDRepCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' RegDRepCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' RegDRepCert (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anchor' @:: Lens' RegDRepCert Anchor@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' RegDRepCert (Prelude.Maybe Anchor)@ -}
data RegDRepCert
  = RegDRepCert'_constructor {_RegDRepCert'drepCredential :: !(Prelude.Maybe StakeCredential),
                              _RegDRepCert'coin :: !(Prelude.Maybe BigInt),
                              _RegDRepCert'anchor :: !(Prelude.Maybe Anchor),
                              _RegDRepCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show RegDRepCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField RegDRepCert "drepCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_RegDRepCert'drepCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegDRepCert "maybe'drepCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_RegDRepCert'drepCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RegDRepCert "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'coin (\ x__ y__ -> x__ {_RegDRepCert'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegDRepCert "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'coin (\ x__ y__ -> x__ {_RegDRepCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RegDRepCert "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'anchor (\ x__ y__ -> x__ {_RegDRepCert'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegDRepCert "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'anchor (\ x__ y__ -> x__ {_RegDRepCert'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message RegDRepCert where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.RegDRepCert"
  packedMessageDescriptor _
    = "\n\
      \\vRegDRepCert\DC2P\n\
      \\SIdrep_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SOdrepCredential\DC22\n\
      \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\DC26\n\
      \\ACKanchor\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        drepCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepCredential")) ::
              Data.ProtoLens.FieldDescriptor RegDRepCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor RegDRepCert
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor RegDRepCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, drepCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor),
           (Data.ProtoLens.Tag 3, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _RegDRepCert'_unknownFields
        (\ x__ y__ -> x__ {_RegDRepCert'_unknownFields = y__})
  defMessage
    = RegDRepCert'_constructor
        {_RegDRepCert'drepCredential = Prelude.Nothing,
         _RegDRepCert'coin = Prelude.Nothing,
         _RegDRepCert'anchor = Prelude.Nothing,
         _RegDRepCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          RegDRepCert -> Data.ProtoLens.Encoding.Bytes.Parser RegDRepCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        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) "RegDRepCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'drepCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData RegDRepCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_RegDRepCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_RegDRepCert'drepCredential x__)
                (Control.DeepSeq.deepseq
                   (_RegDRepCert'coin x__)
                   (Control.DeepSeq.deepseq (_RegDRepCert'anchor x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ipV4' @:: Lens' Relay Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ipV6' @:: Lens' Relay Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.dnsName' @:: Lens' Relay Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.port' @:: Lens' Relay Data.Word.Word32@ -}
data Relay
  = Relay'_constructor {_Relay'ipV4 :: !Data.ByteString.ByteString,
                        _Relay'ipV6 :: !Data.ByteString.ByteString,
                        _Relay'dnsName :: !Data.Text.Text,
                        _Relay'port :: !Data.Word.Word32,
                        _Relay'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Relay where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Relay "ipV4" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'ipV4 (\ x__ y__ -> x__ {_Relay'ipV4 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Relay "ipV6" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'ipV6 (\ x__ y__ -> x__ {_Relay'ipV6 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Relay "dnsName" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'dnsName (\ x__ y__ -> x__ {_Relay'dnsName = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Relay "port" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'port (\ x__ y__ -> x__ {_Relay'port = y__}))
        Prelude.id
instance Data.ProtoLens.Message Relay where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Relay"
  packedMessageDescriptor _
    = "\n\
      \\ENQRelay\DC2\DC3\n\
      \\ENQip_v4\CAN\SOH \SOH(\fR\EOTipV4\DC2\DC3\n\
      \\ENQip_v6\CAN\STX \SOH(\fR\EOTipV6\DC2\EM\n\
      \\bdns_name\CAN\ETX \SOH(\tR\adnsName\DC2\DC2\n\
      \\EOTport\CAN\EOT \SOH(\rR\EOTport"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        ipV4__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ip_v4"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"ipV4")) ::
              Data.ProtoLens.FieldDescriptor Relay
        ipV6__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ip_v6"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"ipV6")) ::
              Data.ProtoLens.FieldDescriptor Relay
        dnsName__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "dns_name"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"dnsName")) ::
              Data.ProtoLens.FieldDescriptor Relay
        port__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "port"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"port")) ::
              Data.ProtoLens.FieldDescriptor Relay
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, ipV4__field_descriptor),
           (Data.ProtoLens.Tag 2, ipV6__field_descriptor),
           (Data.ProtoLens.Tag 3, dnsName__field_descriptor),
           (Data.ProtoLens.Tag 4, port__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Relay'_unknownFields
        (\ x__ y__ -> x__ {_Relay'_unknownFields = y__})
  defMessage
    = Relay'_constructor
        {_Relay'ipV4 = Data.ProtoLens.fieldDefault,
         _Relay'ipV6 = Data.ProtoLens.fieldDefault,
         _Relay'dnsName = Data.ProtoLens.fieldDefault,
         _Relay'port = Data.ProtoLens.fieldDefault,
         _Relay'_unknownFields = []}
  parseMessage
    = let
        loop :: Relay -> Data.ProtoLens.Encoding.Bytes.Parser Relay
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "ip_v4"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"ipV4") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "ip_v6"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"ipV6") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "dns_name"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"dnsName") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "port"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"port") y x)
                        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) "Relay"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"ipV4") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"ipV6") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"dnsName") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((Prelude..)
                               (\ bs
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               Data.Text.Encoding.encodeUtf8 _v))
                   ((Data.Monoid.<>)
                      (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"port") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                               ((Prelude..)
                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData Relay where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Relay'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Relay'ipV4 x__)
                (Control.DeepSeq.deepseq
                   (_Relay'ipV6 x__)
                   (Control.DeepSeq.deepseq
                      (_Relay'dnsName x__)
                      (Control.DeepSeq.deepseq (_Relay'port x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.committeeColdCredential' @:: Lens' ResignCommitteeColdCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'committeeColdCredential' @:: Lens' ResignCommitteeColdCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anchor' @:: Lens' ResignCommitteeColdCert Anchor@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' ResignCommitteeColdCert (Prelude.Maybe Anchor)@ -}
data ResignCommitteeColdCert
  = ResignCommitteeColdCert'_constructor {_ResignCommitteeColdCert'committeeColdCredential :: !(Prelude.Maybe StakeCredential),
                                          _ResignCommitteeColdCert'anchor :: !(Prelude.Maybe Anchor),
                                          _ResignCommitteeColdCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ResignCommitteeColdCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "committeeColdCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_ResignCommitteeColdCert'committeeColdCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "maybe'committeeColdCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_ResignCommitteeColdCert'committeeColdCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'anchor
           (\ x__ y__ -> x__ {_ResignCommitteeColdCert'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'anchor
           (\ x__ y__ -> x__ {_ResignCommitteeColdCert'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message ResignCommitteeColdCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.ResignCommitteeColdCert"
  packedMessageDescriptor _
    = "\n\
      \\ETBResignCommitteeColdCert\DC2c\n\
      \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC26\n\
      \\ACKanchor\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        committeeColdCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_cold_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeColdCredential")) ::
              Data.ProtoLens.FieldDescriptor ResignCommitteeColdCert
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor ResignCommitteeColdCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, committeeColdCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ResignCommitteeColdCert'_unknownFields
        (\ x__ y__ -> x__ {_ResignCommitteeColdCert'_unknownFields = y__})
  defMessage
    = ResignCommitteeColdCert'_constructor
        {_ResignCommitteeColdCert'committeeColdCredential = Prelude.Nothing,
         _ResignCommitteeColdCert'anchor = Prelude.Nothing,
         _ResignCommitteeColdCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ResignCommitteeColdCert
          -> Data.ProtoLens.Encoding.Bytes.Parser ResignCommitteeColdCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_cold_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeColdCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        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) "ResignCommitteeColdCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'committeeColdCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ResignCommitteeColdCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ResignCommitteeColdCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ResignCommitteeColdCert'committeeColdCredential x__)
                (Control.DeepSeq.deepseq (_ResignCommitteeColdCert'anchor x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'script' @:: Lens' Script (Prelude.Maybe Script'Script)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'native' @:: Lens' Script (Prelude.Maybe NativeScript)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.native' @:: Lens' Script NativeScript@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV1' @:: Lens' Script (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV1' @:: Lens' Script Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV2' @:: Lens' Script (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV2' @:: Lens' Script Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV3' @:: Lens' Script (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV3' @:: Lens' Script Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'plutusV4' @:: Lens' Script (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusV4' @:: Lens' Script Data.ByteString.ByteString@ -}
data Script
  = Script'_constructor {_Script'script :: !(Prelude.Maybe Script'Script),
                         _Script'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Script where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data Script'Script
  = Script'Native !NativeScript |
    Script'PlutusV1 !Data.ByteString.ByteString |
    Script'PlutusV2 !Data.ByteString.ByteString |
    Script'PlutusV3 !Data.ByteString.ByteString |
    Script'PlutusV4 !Data.ByteString.ByteString
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField Script "maybe'script" (Prelude.Maybe Script'Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Script "maybe'native" (Prelude.Maybe NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'Native x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'Native y__))
instance Data.ProtoLens.Field.HasField Script "native" NativeScript where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'Native x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'Native y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Script "maybe'plutusV1" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'PlutusV1 x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'PlutusV1 y__))
instance Data.ProtoLens.Field.HasField Script "plutusV1" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'PlutusV1 x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'PlutusV1 y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Script "maybe'plutusV2" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'PlutusV2 x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'PlutusV2 y__))
instance Data.ProtoLens.Field.HasField Script "plutusV2" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'PlutusV2 x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'PlutusV2 y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Script "maybe'plutusV3" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'PlutusV3 x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'PlutusV3 y__))
instance Data.ProtoLens.Field.HasField Script "plutusV3" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'PlutusV3 x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'PlutusV3 y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Script "maybe'plutusV4" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'PlutusV4 x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'PlutusV4 y__))
instance Data.ProtoLens.Field.HasField Script "plutusV4" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'PlutusV4 x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'PlutusV4 y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message Script where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Script"
  packedMessageDescriptor _
    = "\n\
      \\ACKScript\DC2>\n\
      \\ACKnative\CAN\SOH \SOH(\v2$.utxorpc.v1beta.cardano.NativeScriptH\NULR\ACKnative\DC2\GS\n\
      \\tplutus_v1\CAN\STX \SOH(\fH\NULR\bplutusV1\DC2\GS\n\
      \\tplutus_v2\CAN\ETX \SOH(\fH\NULR\bplutusV2\DC2\GS\n\
      \\tplutus_v3\CAN\EOT \SOH(\fH\NULR\bplutusV3\DC2\GS\n\
      \\tplutus_v4\CAN\ENQ \SOH(\fH\NULR\bplutusV4B\b\n\
      \\ACKscript"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        native__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "native"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScript)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'native")) ::
              Data.ProtoLens.FieldDescriptor Script
        plutusV1__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v1"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV1")) ::
              Data.ProtoLens.FieldDescriptor Script
        plutusV2__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v2"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV2")) ::
              Data.ProtoLens.FieldDescriptor Script
        plutusV3__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v3"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV3")) ::
              Data.ProtoLens.FieldDescriptor Script
        plutusV4__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v4"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV4")) ::
              Data.ProtoLens.FieldDescriptor Script
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, native__field_descriptor),
           (Data.ProtoLens.Tag 2, plutusV1__field_descriptor),
           (Data.ProtoLens.Tag 3, plutusV2__field_descriptor),
           (Data.ProtoLens.Tag 4, plutusV3__field_descriptor),
           (Data.ProtoLens.Tag 5, plutusV4__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Script'_unknownFields
        (\ x__ y__ -> x__ {_Script'_unknownFields = y__})
  defMessage
    = Script'_constructor
        {_Script'script = Prelude.Nothing, _Script'_unknownFields = []}
  parseMessage
    = let
        loop :: Script -> Data.ProtoLens.Encoding.Bytes.Parser Script
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "native"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"native") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "plutus_v1"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV1") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "plutus_v2"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV2") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "plutus_v3"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV3") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "plutus_v4"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV4") y x)
                        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) "Script"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'script") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (Script'Native v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (Script'PlutusV1 v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (Script'PlutusV2 v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (Script'PlutusV3 v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (Script'PlutusV4 v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData Script where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Script'_unknownFields x__)
             (Control.DeepSeq.deepseq (_Script'script x__) ())
instance Control.DeepSeq.NFData Script'Script where
  rnf (Script'Native x__) = Control.DeepSeq.rnf x__
  rnf (Script'PlutusV1 x__) = Control.DeepSeq.rnf x__
  rnf (Script'PlutusV2 x__) = Control.DeepSeq.rnf x__
  rnf (Script'PlutusV3 x__) = Control.DeepSeq.rnf x__
  rnf (Script'PlutusV4 x__) = Control.DeepSeq.rnf x__
_Script'Native ::
  Data.ProtoLens.Prism.Prism' Script'Script NativeScript
_Script'Native
  = Data.ProtoLens.Prism.prism'
      Script'Native
      (\ p__
         -> case p__ of
              (Script'Native p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Script'PlutusV1 ::
  Data.ProtoLens.Prism.Prism' Script'Script Data.ByteString.ByteString
_Script'PlutusV1
  = Data.ProtoLens.Prism.prism'
      Script'PlutusV1
      (\ p__
         -> case p__ of
              (Script'PlutusV1 p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Script'PlutusV2 ::
  Data.ProtoLens.Prism.Prism' Script'Script Data.ByteString.ByteString
_Script'PlutusV2
  = Data.ProtoLens.Prism.prism'
      Script'PlutusV2
      (\ p__
         -> case p__ of
              (Script'PlutusV2 p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Script'PlutusV3 ::
  Data.ProtoLens.Prism.Prism' Script'Script Data.ByteString.ByteString
_Script'PlutusV3
  = Data.ProtoLens.Prism.prism'
      Script'PlutusV3
      (\ p__
         -> case p__ of
              (Script'PlutusV3 p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Script'PlutusV4 ::
  Data.ProtoLens.Prism.Prism' Script'Script Data.ByteString.ByteString
_Script'PlutusV4
  = Data.ProtoLens.Prism.prism'
      Script'PlutusV4
      (\ p__
         -> case p__ of
              (Script'PlutusV4 p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.k' @:: Lens' ScriptNOfK Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scripts' @:: Lens' ScriptNOfK [NativeScript]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'scripts' @:: Lens' ScriptNOfK (Data.Vector.Vector NativeScript)@ -}
data ScriptNOfK
  = ScriptNOfK'_constructor {_ScriptNOfK'k :: !Data.Word.Word32,
                             _ScriptNOfK'scripts :: !(Data.Vector.Vector NativeScript),
                             _ScriptNOfK'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ScriptNOfK where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ScriptNOfK "k" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ScriptNOfK'k (\ x__ y__ -> x__ {_ScriptNOfK'k = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ScriptNOfK "scripts" [NativeScript] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ScriptNOfK'scripts (\ x__ y__ -> x__ {_ScriptNOfK'scripts = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField ScriptNOfK "vec'scripts" (Data.Vector.Vector NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ScriptNOfK'scripts (\ x__ y__ -> x__ {_ScriptNOfK'scripts = y__}))
        Prelude.id
instance Data.ProtoLens.Message ScriptNOfK where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.ScriptNOfK"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \ScriptNOfK\DC2\f\n\
      \\SOHk\CAN\SOH \SOH(\rR\SOHk\DC2>\n\
      \\ascripts\CAN\STX \ETX(\v2$.utxorpc.v1beta.cardano.NativeScriptR\ascripts"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        k__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "k"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"k")) ::
              Data.ProtoLens.FieldDescriptor ScriptNOfK
        scripts__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "scripts"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScript)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"scripts")) ::
              Data.ProtoLens.FieldDescriptor ScriptNOfK
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, k__field_descriptor),
           (Data.ProtoLens.Tag 2, scripts__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ScriptNOfK'_unknownFields
        (\ x__ y__ -> x__ {_ScriptNOfK'_unknownFields = y__})
  defMessage
    = ScriptNOfK'_constructor
        {_ScriptNOfK'k = Data.ProtoLens.fieldDefault,
         _ScriptNOfK'scripts = Data.Vector.Generic.empty,
         _ScriptNOfK'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ScriptNOfK
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NativeScript
             -> Data.ProtoLens.Encoding.Bytes.Parser ScriptNOfK
        loop x mutable'scripts
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                             mutable'scripts)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'scripts") frozen'scripts x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "k"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"k") y x)
                                  mutable'scripts
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "scripts"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'scripts 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'scripts
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                   Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'scripts)
          "ScriptNOfK"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"k") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'scripts") _x))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ScriptNOfK where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ScriptNOfK'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ScriptNOfK'k x__)
                (Control.DeepSeq.deepseq (_ScriptNOfK'scripts x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.initThd' @:: Lens' SoftforkRule Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.minThd' @:: Lens' SoftforkRule Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.thdDecrement' @:: Lens' SoftforkRule Data.Text.Text@ -}
data SoftforkRule
  = SoftforkRule'_constructor {_SoftforkRule'initThd :: !Data.Text.Text,
                               _SoftforkRule'minThd :: !Data.Text.Text,
                               _SoftforkRule'thdDecrement :: !Data.Text.Text,
                               _SoftforkRule'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show SoftforkRule where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField SoftforkRule "initThd" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _SoftforkRule'initThd
           (\ x__ y__ -> x__ {_SoftforkRule'initThd = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField SoftforkRule "minThd" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _SoftforkRule'minThd
           (\ x__ y__ -> x__ {_SoftforkRule'minThd = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField SoftforkRule "thdDecrement" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _SoftforkRule'thdDecrement
           (\ x__ y__ -> x__ {_SoftforkRule'thdDecrement = y__}))
        Prelude.id
instance Data.ProtoLens.Message SoftforkRule where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.SoftforkRule"
  packedMessageDescriptor _
    = "\n\
      \\fSoftforkRule\DC2\EM\n\
      \\binit_thd\CAN\SOH \SOH(\tR\ainitThd\DC2\ETB\n\
      \\amin_thd\CAN\STX \SOH(\tR\ACKminThd\DC2#\n\
      \\rthd_decrement\CAN\ETX \SOH(\tR\fthdDecrement"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        initThd__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "init_thd"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"initThd")) ::
              Data.ProtoLens.FieldDescriptor SoftforkRule
        minThd__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_thd"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"minThd")) ::
              Data.ProtoLens.FieldDescriptor SoftforkRule
        thdDecrement__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "thd_decrement"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"thdDecrement")) ::
              Data.ProtoLens.FieldDescriptor SoftforkRule
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, initThd__field_descriptor),
           (Data.ProtoLens.Tag 2, minThd__field_descriptor),
           (Data.ProtoLens.Tag 3, thdDecrement__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _SoftforkRule'_unknownFields
        (\ x__ y__ -> x__ {_SoftforkRule'_unknownFields = y__})
  defMessage
    = SoftforkRule'_constructor
        {_SoftforkRule'initThd = Data.ProtoLens.fieldDefault,
         _SoftforkRule'minThd = Data.ProtoLens.fieldDefault,
         _SoftforkRule'thdDecrement = Data.ProtoLens.fieldDefault,
         _SoftforkRule'_unknownFields = []}
  parseMessage
    = let
        loop ::
          SoftforkRule -> Data.ProtoLens.Encoding.Bytes.Parser SoftforkRule
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "init_thd"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"initThd") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "min_thd"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"minThd") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "thd_decrement"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"thdDecrement") y x)
                        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) "SoftforkRule"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"initThd") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"minThd") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"thdDecrement") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((Prelude..)
                               (\ bs
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               Data.Text.Encoding.encodeUtf8 _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData SoftforkRule where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_SoftforkRule'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_SoftforkRule'initThd x__)
                (Control.DeepSeq.deepseq
                   (_SoftforkRule'minThd x__)
                   (Control.DeepSeq.deepseq (_SoftforkRule'thdDecrement x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeCredential (Prelude.Maybe StakeCredential'StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'addrKeyHash' @:: Lens' StakeCredential (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.addrKeyHash' @:: Lens' StakeCredential Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'scriptHash' @:: Lens' StakeCredential (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.scriptHash' @:: Lens' StakeCredential Data.ByteString.ByteString@ -}
data StakeCredential
  = StakeCredential'_constructor {_StakeCredential'stakeCredential :: !(Prelude.Maybe StakeCredential'StakeCredential),
                                  _StakeCredential'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeCredential where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data StakeCredential'StakeCredential
  = StakeCredential'AddrKeyHash !Data.ByteString.ByteString |
    StakeCredential'ScriptHash !Data.ByteString.ByteString
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField StakeCredential "maybe'stakeCredential" (Prelude.Maybe StakeCredential'StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeCredential "maybe'addrKeyHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (StakeCredential'AddrKeyHash x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap StakeCredential'AddrKeyHash y__))
instance Data.ProtoLens.Field.HasField StakeCredential "addrKeyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (StakeCredential'AddrKeyHash x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap StakeCredential'AddrKeyHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField StakeCredential "maybe'scriptHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (StakeCredential'ScriptHash x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap StakeCredential'ScriptHash y__))
instance Data.ProtoLens.Field.HasField StakeCredential "scriptHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (StakeCredential'ScriptHash x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap StakeCredential'ScriptHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message StakeCredential where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.StakeCredential"
  packedMessageDescriptor _
    = "\n\
      \\SIStakeCredential\DC2$\n\
      \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
      \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
      \scriptHashB\DC2\n\
      \\DLEstake_credential"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        addrKeyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "addr_key_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'addrKeyHash")) ::
              Data.ProtoLens.FieldDescriptor StakeCredential
        scriptHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptHash")) ::
              Data.ProtoLens.FieldDescriptor StakeCredential
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, addrKeyHash__field_descriptor),
           (Data.ProtoLens.Tag 2, scriptHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeCredential'_unknownFields
        (\ x__ y__ -> x__ {_StakeCredential'_unknownFields = y__})
  defMessage
    = StakeCredential'_constructor
        {_StakeCredential'stakeCredential = Prelude.Nothing,
         _StakeCredential'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeCredential
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeCredential
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "addr_key_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"addrKeyHash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "script_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptHash") y x)
                        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) "StakeCredential"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (StakeCredential'AddrKeyHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (StakeCredential'ScriptHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData StakeCredential where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeCredential'_unknownFields x__)
             (Control.DeepSeq.deepseq (_StakeCredential'stakeCredential x__) ())
instance Control.DeepSeq.NFData StakeCredential'StakeCredential where
  rnf (StakeCredential'AddrKeyHash x__) = Control.DeepSeq.rnf x__
  rnf (StakeCredential'ScriptHash x__) = Control.DeepSeq.rnf x__
_StakeCredential'AddrKeyHash ::
  Data.ProtoLens.Prism.Prism' StakeCredential'StakeCredential Data.ByteString.ByteString
_StakeCredential'AddrKeyHash
  = Data.ProtoLens.Prism.prism'
      StakeCredential'AddrKeyHash
      (\ p__
         -> case p__ of
              (StakeCredential'AddrKeyHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_StakeCredential'ScriptHash ::
  Data.ProtoLens.Prism.Prism' StakeCredential'StakeCredential Data.ByteString.ByteString
_StakeCredential'ScriptHash
  = Data.ProtoLens.Prism.prism'
      StakeCredential'ScriptHash
      (\ p__
         -> case p__ of
              (StakeCredential'ScriptHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeDelegationCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeDelegationCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeDelegationCert Data.ByteString.ByteString@ -}
data StakeDelegationCert
  = StakeDelegationCert'_constructor {_StakeDelegationCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                      _StakeDelegationCert'poolKeyhash :: !Data.ByteString.ByteString,
                                      _StakeDelegationCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeDelegationCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeDelegationCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeDelegationCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeDelegationCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeDelegationCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeDelegationCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeDelegationCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeDelegationCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.StakeDelegationCert"
  packedMessageDescriptor _
    = "\n\
      \\DC3StakeDelegationCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeDelegationCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeDelegationCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeDelegationCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeDelegationCert'_unknownFields = y__})
  defMessage
    = StakeDelegationCert'_constructor
        {_StakeDelegationCert'stakeCredential = Prelude.Nothing,
         _StakeDelegationCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeDelegationCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeDelegationCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeDelegationCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        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) "StakeDelegationCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData StakeDelegationCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeDelegationCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeDelegationCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeDelegationCert'poolKeyhash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeDelegationPattern StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeDelegationPattern (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeDelegationPattern Data.ByteString.ByteString@ -}
data StakeDelegationPattern
  = StakeDelegationPattern'_constructor {_StakeDelegationPattern'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                         _StakeDelegationPattern'poolKeyhash :: !Data.ByteString.ByteString,
                                         _StakeDelegationPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeDelegationPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeDelegationPattern "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationPattern'stakeCredential
           (\ x__ y__ -> x__ {_StakeDelegationPattern'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeDelegationPattern "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationPattern'stakeCredential
           (\ x__ y__ -> x__ {_StakeDelegationPattern'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeDelegationPattern "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationPattern'poolKeyhash
           (\ x__ y__ -> x__ {_StakeDelegationPattern'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeDelegationPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.StakeDelegationPattern"
  packedMessageDescriptor _
    = "\n\
      \\SYNStakeDelegationPattern\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeDelegationPattern
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeDelegationPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeDelegationPattern'_unknownFields
        (\ x__ y__ -> x__ {_StakeDelegationPattern'_unknownFields = y__})
  defMessage
    = StakeDelegationPattern'_constructor
        {_StakeDelegationPattern'stakeCredential = Prelude.Nothing,
         _StakeDelegationPattern'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeDelegationPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeDelegationPattern
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeDelegationPattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        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) "StakeDelegationPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData StakeDelegationPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeDelegationPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeDelegationPattern'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeDelegationPattern'poolKeyhash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeRegDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeRegDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeRegDelegCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' StakeRegDelegCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' StakeRegDelegCert (Prelude.Maybe BigInt)@ -}
data StakeRegDelegCert
  = StakeRegDelegCert'_constructor {_StakeRegDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                    _StakeRegDelegCert'poolKeyhash :: !Data.ByteString.ByteString,
                                    _StakeRegDelegCert'coin :: !(Prelude.Maybe BigInt),
                                    _StakeRegDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeRegDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeRegDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeRegDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeRegDelegCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'coin
           (\ x__ y__ -> x__ {_StakeRegDelegCert'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'coin
           (\ x__ y__ -> x__ {_StakeRegDelegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeRegDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.StakeRegDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\DC1StakeRegDelegCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC22\n\
      \\EOTcoin\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeRegDelegCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeRegDelegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor StakeRegDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeRegDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeRegDelegCert'_unknownFields = y__})
  defMessage
    = StakeRegDelegCert'_constructor
        {_StakeRegDelegCert'stakeCredential = Prelude.Nothing,
         _StakeRegDelegCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeRegDelegCert'coin = Prelude.Nothing,
         _StakeRegDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeRegDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeRegDelegCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        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) "StakeRegDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData StakeRegDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeRegDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeRegDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeRegDelegCert'poolKeyhash x__)
                   (Control.DeepSeq.deepseq (_StakeRegDelegCert'coin x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeVoteDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeVoteDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeVoteDelegCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drep' @:: Lens' StakeVoteDelegCert DRep@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drep' @:: Lens' StakeVoteDelegCert (Prelude.Maybe DRep)@ -}
data StakeVoteDelegCert
  = StakeVoteDelegCert'_constructor {_StakeVoteDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                     _StakeVoteDelegCert'poolKeyhash :: !Data.ByteString.ByteString,
                                     _StakeVoteDelegCert'drep :: !(Prelude.Maybe DRep),
                                     _StakeVoteDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeVoteDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeVoteDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.StakeVoteDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\DC2StakeVoteDelegCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC20\n\
      \\EOTdrep\CAN\ETX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteDelegCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, drep__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeVoteDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeVoteDelegCert'_unknownFields = y__})
  defMessage
    = StakeVoteDelegCert'_constructor
        {_StakeVoteDelegCert'stakeCredential = Prelude.Nothing,
         _StakeVoteDelegCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeVoteDelegCert'drep = Prelude.Nothing,
         _StakeVoteDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeVoteDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeVoteDelegCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        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) "StakeVoteDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData StakeVoteDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeVoteDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeVoteDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeVoteDelegCert'poolKeyhash x__)
                   (Control.DeepSeq.deepseq (_StakeVoteDelegCert'drep x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeVoteRegDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeVoteRegDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeVoteRegDelegCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drep' @:: Lens' StakeVoteRegDelegCert DRep@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drep' @:: Lens' StakeVoteRegDelegCert (Prelude.Maybe DRep)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' StakeVoteRegDelegCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' StakeVoteRegDelegCert (Prelude.Maybe BigInt)@ -}
data StakeVoteRegDelegCert
  = StakeVoteRegDelegCert'_constructor {_StakeVoteRegDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                        _StakeVoteRegDelegCert'poolKeyhash :: !Data.ByteString.ByteString,
                                        _StakeVoteRegDelegCert'drep :: !(Prelude.Maybe DRep),
                                        _StakeVoteRegDelegCert'coin :: !(Prelude.Maybe BigInt),
                                        _StakeVoteRegDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeVoteRegDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'coin
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'coin
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeVoteRegDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.StakeVoteRegDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\NAKStakeVoteRegDelegCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC20\n\
      \\EOTdrep\CAN\ETX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep\DC22\n\
      \\EOTcoin\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, drep__field_descriptor),
           (Data.ProtoLens.Tag 4, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeVoteRegDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'_unknownFields = y__})
  defMessage
    = StakeVoteRegDelegCert'_constructor
        {_StakeVoteRegDelegCert'stakeCredential = Prelude.Nothing,
         _StakeVoteRegDelegCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeVoteRegDelegCert'drep = Prelude.Nothing,
         _StakeVoteRegDelegCert'coin = Prelude.Nothing,
         _StakeVoteRegDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeVoteRegDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeVoteRegDelegCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        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) "StakeVoteRegDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData StakeVoteRegDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeVoteRegDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeVoteRegDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeVoteRegDelegCert'poolKeyhash x__)
                   (Control.DeepSeq.deepseq
                      (_StakeVoteRegDelegCert'drep x__)
                      (Control.DeepSeq.deepseq (_StakeVoteRegDelegCert'coin x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.withdrawals' @:: Lens' TreasuryWithdrawalsAction [WithdrawalAmount]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'withdrawals' @:: Lens' TreasuryWithdrawalsAction (Data.Vector.Vector WithdrawalAmount)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.policyHash' @:: Lens' TreasuryWithdrawalsAction Data.ByteString.ByteString@ -}
data TreasuryWithdrawalsAction
  = TreasuryWithdrawalsAction'_constructor {_TreasuryWithdrawalsAction'withdrawals :: !(Data.Vector.Vector WithdrawalAmount),
                                            _TreasuryWithdrawalsAction'policyHash :: !Data.ByteString.ByteString,
                                            _TreasuryWithdrawalsAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TreasuryWithdrawalsAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TreasuryWithdrawalsAction "withdrawals" [WithdrawalAmount] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TreasuryWithdrawalsAction'withdrawals
           (\ x__ y__ -> x__ {_TreasuryWithdrawalsAction'withdrawals = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TreasuryWithdrawalsAction "vec'withdrawals" (Data.Vector.Vector WithdrawalAmount) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TreasuryWithdrawalsAction'withdrawals
           (\ x__ y__ -> x__ {_TreasuryWithdrawalsAction'withdrawals = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TreasuryWithdrawalsAction "policyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TreasuryWithdrawalsAction'policyHash
           (\ x__ y__ -> x__ {_TreasuryWithdrawalsAction'policyHash = y__}))
        Prelude.id
instance Data.ProtoLens.Message TreasuryWithdrawalsAction where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.TreasuryWithdrawalsAction"
  packedMessageDescriptor _
    = "\n\
      \\EMTreasuryWithdrawalsAction\DC2J\n\
      \\vwithdrawals\CAN\SOH \ETX(\v2(.utxorpc.v1beta.cardano.WithdrawalAmountR\vwithdrawals\DC2\US\n\
      \\vpolicy_hash\CAN\STX \SOH(\fR\n\
      \policyHash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        withdrawals__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "withdrawals"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor WithdrawalAmount)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"withdrawals")) ::
              Data.ProtoLens.FieldDescriptor TreasuryWithdrawalsAction
        policyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"policyHash")) ::
              Data.ProtoLens.FieldDescriptor TreasuryWithdrawalsAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, withdrawals__field_descriptor),
           (Data.ProtoLens.Tag 2, policyHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TreasuryWithdrawalsAction'_unknownFields
        (\ x__ y__
           -> x__ {_TreasuryWithdrawalsAction'_unknownFields = y__})
  defMessage
    = TreasuryWithdrawalsAction'_constructor
        {_TreasuryWithdrawalsAction'withdrawals = Data.Vector.Generic.empty,
         _TreasuryWithdrawalsAction'policyHash = Data.ProtoLens.fieldDefault,
         _TreasuryWithdrawalsAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TreasuryWithdrawalsAction
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld WithdrawalAmount
             -> Data.ProtoLens.Encoding.Bytes.Parser TreasuryWithdrawalsAction
        loop x mutable'withdrawals
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                 mutable'withdrawals)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'withdrawals") frozen'withdrawals
                              x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "withdrawals"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'withdrawals y)
                                loop x v
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyHash") y x)
                                  mutable'withdrawals
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'withdrawals
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'withdrawals)
          "TreasuryWithdrawalsAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'withdrawals") _x))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"policyHash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData TreasuryWithdrawalsAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TreasuryWithdrawalsAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TreasuryWithdrawalsAction'withdrawals x__)
                (Control.DeepSeq.deepseq
                   (_TreasuryWithdrawalsAction'policyHash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.inputs' @:: Lens' Tx [TxInput]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'inputs' @:: Lens' Tx (Data.Vector.Vector TxInput)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.outputs' @:: Lens' Tx [TxOutput]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'outputs' @:: Lens' Tx (Data.Vector.Vector TxOutput)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.certificates' @:: Lens' Tx [Certificate]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'certificates' @:: Lens' Tx (Data.Vector.Vector Certificate)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.withdrawals' @:: Lens' Tx [Withdrawal]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'withdrawals' @:: Lens' Tx (Data.Vector.Vector Withdrawal)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.mint' @:: Lens' Tx [Multiasset]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'mint' @:: Lens' Tx (Data.Vector.Vector Multiasset)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.referenceInputs' @:: Lens' Tx [TxInput]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'referenceInputs' @:: Lens' Tx (Data.Vector.Vector TxInput)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.witnesses' @:: Lens' Tx WitnessSet@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'witnesses' @:: Lens' Tx (Prelude.Maybe WitnessSet)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.collateral' @:: Lens' Tx Collateral@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'collateral' @:: Lens' Tx (Prelude.Maybe Collateral)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.fee' @:: Lens' Tx BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'fee' @:: Lens' Tx (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.validity' @:: Lens' Tx TxValidity@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'validity' @:: Lens' Tx (Prelude.Maybe TxValidity)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.successful' @:: Lens' Tx Prelude.Bool@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.auxiliary' @:: Lens' Tx AuxData@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'auxiliary' @:: Lens' Tx (Prelude.Maybe AuxData)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hash' @:: Lens' Tx Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.proposals' @:: Lens' Tx [GovernanceActionProposal]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'proposals' @:: Lens' Tx (Data.Vector.Vector GovernanceActionProposal)@ -}
data Tx
  = Tx'_constructor {_Tx'inputs :: !(Data.Vector.Vector TxInput),
                     _Tx'outputs :: !(Data.Vector.Vector TxOutput),
                     _Tx'certificates :: !(Data.Vector.Vector Certificate),
                     _Tx'withdrawals :: !(Data.Vector.Vector Withdrawal),
                     _Tx'mint :: !(Data.Vector.Vector Multiasset),
                     _Tx'referenceInputs :: !(Data.Vector.Vector TxInput),
                     _Tx'witnesses :: !(Prelude.Maybe WitnessSet),
                     _Tx'collateral :: !(Prelude.Maybe Collateral),
                     _Tx'fee :: !(Prelude.Maybe BigInt),
                     _Tx'validity :: !(Prelude.Maybe TxValidity),
                     _Tx'successful :: !Prelude.Bool,
                     _Tx'auxiliary :: !(Prelude.Maybe AuxData),
                     _Tx'hash :: !Data.ByteString.ByteString,
                     _Tx'proposals :: !(Data.Vector.Vector GovernanceActionProposal),
                     _Tx'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Tx where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Tx "inputs" [TxInput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'inputs (\ x__ y__ -> x__ {_Tx'inputs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'inputs" (Data.Vector.Vector TxInput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'inputs (\ x__ y__ -> x__ {_Tx'inputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "outputs" [TxOutput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'outputs (\ x__ y__ -> x__ {_Tx'outputs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'outputs" (Data.Vector.Vector TxOutput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'outputs (\ x__ y__ -> x__ {_Tx'outputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "certificates" [Certificate] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'certificates (\ x__ y__ -> x__ {_Tx'certificates = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'certificates" (Data.Vector.Vector Certificate) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'certificates (\ x__ y__ -> x__ {_Tx'certificates = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "withdrawals" [Withdrawal] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'withdrawals (\ x__ y__ -> x__ {_Tx'withdrawals = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'withdrawals" (Data.Vector.Vector Withdrawal) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'withdrawals (\ x__ y__ -> x__ {_Tx'withdrawals = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "mint" [Multiasset] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'mint (\ x__ y__ -> x__ {_Tx'mint = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'mint" (Data.Vector.Vector Multiasset) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'mint (\ x__ y__ -> x__ {_Tx'mint = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "referenceInputs" [TxInput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'referenceInputs (\ x__ y__ -> x__ {_Tx'referenceInputs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'referenceInputs" (Data.Vector.Vector TxInput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'referenceInputs (\ x__ y__ -> x__ {_Tx'referenceInputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "witnesses" WitnessSet where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'witnesses (\ x__ y__ -> x__ {_Tx'witnesses = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'witnesses" (Prelude.Maybe WitnessSet) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'witnesses (\ x__ y__ -> x__ {_Tx'witnesses = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "collateral" Collateral where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'collateral (\ x__ y__ -> x__ {_Tx'collateral = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'collateral" (Prelude.Maybe Collateral) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'collateral (\ x__ y__ -> x__ {_Tx'collateral = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "fee" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'fee (\ x__ y__ -> x__ {_Tx'fee = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'fee" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'fee (\ x__ y__ -> x__ {_Tx'fee = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "validity" TxValidity where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'validity (\ x__ y__ -> x__ {_Tx'validity = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'validity" (Prelude.Maybe TxValidity) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'validity (\ x__ y__ -> x__ {_Tx'validity = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "successful" Prelude.Bool where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'successful (\ x__ y__ -> x__ {_Tx'successful = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "auxiliary" AuxData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'auxiliary (\ x__ y__ -> x__ {_Tx'auxiliary = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'auxiliary" (Prelude.Maybe AuxData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'auxiliary (\ x__ y__ -> x__ {_Tx'auxiliary = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'hash (\ x__ y__ -> x__ {_Tx'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "proposals" [GovernanceActionProposal] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'proposals (\ x__ y__ -> x__ {_Tx'proposals = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'proposals" (Data.Vector.Vector GovernanceActionProposal) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'proposals (\ x__ y__ -> x__ {_Tx'proposals = y__}))
        Prelude.id
instance Data.ProtoLens.Message Tx where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Tx"
  packedMessageDescriptor _
    = "\n\
      \\STXTx\DC27\n\
      \\ACKinputs\CAN\SOH \ETX(\v2\US.utxorpc.v1beta.cardano.TxInputR\ACKinputs\DC2:\n\
      \\aoutputs\CAN\STX \ETX(\v2 .utxorpc.v1beta.cardano.TxOutputR\aoutputs\DC2G\n\
      \\fcertificates\CAN\ETX \ETX(\v2#.utxorpc.v1beta.cardano.CertificateR\fcertificates\DC2D\n\
      \\vwithdrawals\CAN\EOT \ETX(\v2\".utxorpc.v1beta.cardano.WithdrawalR\vwithdrawals\DC26\n\
      \\EOTmint\CAN\ENQ \ETX(\v2\".utxorpc.v1beta.cardano.MultiassetR\EOTmint\DC2J\n\
      \\DLEreference_inputs\CAN\ACK \ETX(\v2\US.utxorpc.v1beta.cardano.TxInputR\SIreferenceInputs\DC2@\n\
      \\twitnesses\CAN\a \SOH(\v2\".utxorpc.v1beta.cardano.WitnessSetR\twitnesses\DC2B\n\
      \\n\
      \collateral\CAN\b \SOH(\v2\".utxorpc.v1beta.cardano.CollateralR\n\
      \collateral\DC20\n\
      \\ETXfee\CAN\t \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ETXfee\DC2>\n\
      \\bvalidity\CAN\n\
      \ \SOH(\v2\".utxorpc.v1beta.cardano.TxValidityR\bvalidity\DC2\RS\n\
      \\n\
      \successful\CAN\v \SOH(\bR\n\
      \successful\DC2=\n\
      \\tauxiliary\CAN\f \SOH(\v2\US.utxorpc.v1beta.cardano.AuxDataR\tauxiliary\DC2\DC2\n\
      \\EOThash\CAN\r \SOH(\fR\EOThash\DC2N\n\
      \\tproposals\CAN\SO \ETX(\v20.utxorpc.v1beta.cardano.GovernanceActionProposalR\tproposals"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        inputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "inputs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxInput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"inputs")) ::
              Data.ProtoLens.FieldDescriptor Tx
        outputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "outputs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"outputs")) ::
              Data.ProtoLens.FieldDescriptor Tx
        certificates__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "certificates"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Certificate)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"certificates")) ::
              Data.ProtoLens.FieldDescriptor Tx
        withdrawals__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "withdrawals"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Withdrawal)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"withdrawals")) ::
              Data.ProtoLens.FieldDescriptor Tx
        mint__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mint"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Multiasset)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"mint")) ::
              Data.ProtoLens.FieldDescriptor Tx
        referenceInputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reference_inputs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxInput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"referenceInputs")) ::
              Data.ProtoLens.FieldDescriptor Tx
        witnesses__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "witnesses"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor WitnessSet)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'witnesses")) ::
              Data.ProtoLens.FieldDescriptor Tx
        collateral__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Collateral)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'collateral")) ::
              Data.ProtoLens.FieldDescriptor Tx
        fee__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "fee"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'fee")) ::
              Data.ProtoLens.FieldDescriptor Tx
        validity__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "validity"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxValidity)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'validity")) ::
              Data.ProtoLens.FieldDescriptor Tx
        successful__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "successful"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"successful")) ::
              Data.ProtoLens.FieldDescriptor Tx
        auxiliary__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "auxiliary"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AuxData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'auxiliary")) ::
              Data.ProtoLens.FieldDescriptor Tx
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor Tx
        proposals__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "proposals"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionProposal)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"proposals")) ::
              Data.ProtoLens.FieldDescriptor Tx
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, inputs__field_descriptor),
           (Data.ProtoLens.Tag 2, outputs__field_descriptor),
           (Data.ProtoLens.Tag 3, certificates__field_descriptor),
           (Data.ProtoLens.Tag 4, withdrawals__field_descriptor),
           (Data.ProtoLens.Tag 5, mint__field_descriptor),
           (Data.ProtoLens.Tag 6, referenceInputs__field_descriptor),
           (Data.ProtoLens.Tag 7, witnesses__field_descriptor),
           (Data.ProtoLens.Tag 8, collateral__field_descriptor),
           (Data.ProtoLens.Tag 9, fee__field_descriptor),
           (Data.ProtoLens.Tag 10, validity__field_descriptor),
           (Data.ProtoLens.Tag 11, successful__field_descriptor),
           (Data.ProtoLens.Tag 12, auxiliary__field_descriptor),
           (Data.ProtoLens.Tag 13, hash__field_descriptor),
           (Data.ProtoLens.Tag 14, proposals__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Tx'_unknownFields (\ x__ y__ -> x__ {_Tx'_unknownFields = y__})
  defMessage
    = Tx'_constructor
        {_Tx'inputs = Data.Vector.Generic.empty,
         _Tx'outputs = Data.Vector.Generic.empty,
         _Tx'certificates = Data.Vector.Generic.empty,
         _Tx'withdrawals = Data.Vector.Generic.empty,
         _Tx'mint = Data.Vector.Generic.empty,
         _Tx'referenceInputs = Data.Vector.Generic.empty,
         _Tx'witnesses = Prelude.Nothing, _Tx'collateral = Prelude.Nothing,
         _Tx'fee = Prelude.Nothing, _Tx'validity = Prelude.Nothing,
         _Tx'successful = Data.ProtoLens.fieldDefault,
         _Tx'auxiliary = Prelude.Nothing,
         _Tx'hash = Data.ProtoLens.fieldDefault,
         _Tx'proposals = Data.Vector.Generic.empty, _Tx'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Tx
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Certificate
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxInput
                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Multiasset
                   -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxOutput
                      -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld GovernanceActionProposal
                         -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxInput
                            -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Withdrawal
                               -> Data.ProtoLens.Encoding.Bytes.Parser Tx
        loop
          x
          mutable'certificates
          mutable'inputs
          mutable'mint
          mutable'outputs
          mutable'proposals
          mutable'referenceInputs
          mutable'withdrawals
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'certificates <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                  mutable'certificates)
                      frozen'inputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'inputs)
                      frozen'mint <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'mint)
                      frozen'outputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                             mutable'outputs)
                      frozen'proposals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                               mutable'proposals)
                      frozen'referenceInputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                     mutable'referenceInputs)
                      frozen'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                 mutable'withdrawals)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'certificates")
                              frozen'certificates
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'inputs") frozen'inputs
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"vec'mint") frozen'mint
                                    (Lens.Family2.set
                                       (Data.ProtoLens.Field.field @"vec'outputs") frozen'outputs
                                       (Lens.Family2.set
                                          (Data.ProtoLens.Field.field @"vec'proposals")
                                          frozen'proposals
                                          (Lens.Family2.set
                                             (Data.ProtoLens.Field.field @"vec'referenceInputs")
                                             frozen'referenceInputs
                                             (Lens.Family2.set
                                                (Data.ProtoLens.Field.field @"vec'withdrawals")
                                                frozen'withdrawals x))))))))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "inputs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'inputs y)
                                loop
                                  x mutable'certificates v mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "outputs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'outputs y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint v
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "certificates"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'certificates y)
                                loop
                                  x v mutable'inputs mutable'mint mutable'outputs mutable'proposals
                                  mutable'referenceInputs mutable'withdrawals
                        34
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "withdrawals"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'withdrawals y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs v
                        42
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "mint"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'mint y)
                                loop
                                  x mutable'certificates mutable'inputs v mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        50
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "reference_inputs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'referenceInputs y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals v mutable'withdrawals
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "witnesses"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"witnesses") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "collateral"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"collateral") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        74
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "fee"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"fee") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        82
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "validity"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"validity") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        88
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "successful"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"successful") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        98
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "auxiliary"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"auxiliary") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        106
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        114
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "proposals"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'proposals y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  v mutable'referenceInputs mutable'withdrawals
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'certificates <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        Data.ProtoLens.Encoding.Growing.new
              mutable'inputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              mutable'mint <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                Data.ProtoLens.Encoding.Growing.new
              mutable'outputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                   Data.ProtoLens.Encoding.Growing.new
              mutable'proposals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     Data.ProtoLens.Encoding.Growing.new
              mutable'referenceInputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                           Data.ProtoLens.Encoding.Growing.new
              mutable'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'certificates mutable'inputs
                mutable'mint mutable'outputs mutable'proposals
                mutable'referenceInputs mutable'withdrawals)
          "Tx"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'inputs") _x))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'outputs") _x))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view
                         (Data.ProtoLens.Field.field @"vec'certificates") _x))
                   ((Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                         (\ _v
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                 ((Prelude..)
                                    (\ bs
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                    Data.ProtoLens.encodeMessage _v))
                         (Lens.Family2.view
                            (Data.ProtoLens.Field.field @"vec'withdrawals") _x))
                      ((Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                            (\ _v
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                    ((Prelude..)
                                       (\ bs
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                  (Prelude.fromIntegral
                                                     (Data.ByteString.length bs)))
                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                       Data.ProtoLens.encodeMessage _v))
                            (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'mint") _x))
                         ((Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                               (\ _v
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                       ((Prelude..)
                                          (\ bs
                                             -> (Data.Monoid.<>)
                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                     (Prelude.fromIntegral
                                                        (Data.ByteString.length bs)))
                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                          Data.ProtoLens.encodeMessage _v))
                               (Lens.Family2.view
                                  (Data.ProtoLens.Field.field @"vec'referenceInputs") _x))
                            ((Data.Monoid.<>)
                               (case
                                    Lens.Family2.view
                                      (Data.ProtoLens.Field.field @"maybe'witnesses") _x
                                of
                                  Prelude.Nothing -> Data.Monoid.mempty
                                  (Prelude.Just _v)
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                         ((Prelude..)
                                            (\ bs
                                               -> (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                       (Prelude.fromIntegral
                                                          (Data.ByteString.length bs)))
                                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                            Data.ProtoLens.encodeMessage _v))
                               ((Data.Monoid.<>)
                                  (case
                                       Lens.Family2.view
                                         (Data.ProtoLens.Field.field @"maybe'collateral") _x
                                   of
                                     Prelude.Nothing -> Data.Monoid.mempty
                                     (Prelude.Just _v)
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                            ((Prelude..)
                                               (\ bs
                                                  -> (Data.Monoid.<>)
                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                          (Prelude.fromIntegral
                                                             (Data.ByteString.length bs)))
                                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                               Data.ProtoLens.encodeMessage _v))
                                  ((Data.Monoid.<>)
                                     (case
                                          Lens.Family2.view
                                            (Data.ProtoLens.Field.field @"maybe'fee") _x
                                      of
                                        Prelude.Nothing -> Data.Monoid.mempty
                                        (Prelude.Just _v)
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                                               ((Prelude..)
                                                  (\ bs
                                                     -> (Data.Monoid.<>)
                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                             (Prelude.fromIntegral
                                                                (Data.ByteString.length bs)))
                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                             bs))
                                                  Data.ProtoLens.encodeMessage _v))
                                     ((Data.Monoid.<>)
                                        (case
                                             Lens.Family2.view
                                               (Data.ProtoLens.Field.field @"maybe'validity") _x
                                         of
                                           Prelude.Nothing -> Data.Monoid.mempty
                                           (Prelude.Just _v)
                                             -> (Data.Monoid.<>)
                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
                                                  ((Prelude..)
                                                     (\ bs
                                                        -> (Data.Monoid.<>)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                (Prelude.fromIntegral
                                                                   (Data.ByteString.length bs)))
                                                             (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                bs))
                                                     Data.ProtoLens.encodeMessage _v))
                                        ((Data.Monoid.<>)
                                           (let
                                              _v
                                                = Lens.Family2.view
                                                    (Data.ProtoLens.Field.field @"successful") _x
                                            in
                                              if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                                  Data.Monoid.mempty
                                              else
                                                  (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 88)
                                                    ((Prelude..)
                                                       Data.ProtoLens.Encoding.Bytes.putVarInt
                                                       (\ b -> if b then 1 else 0) _v))
                                           ((Data.Monoid.<>)
                                              (case
                                                   Lens.Family2.view
                                                     (Data.ProtoLens.Field.field @"maybe'auxiliary")
                                                     _x
                                               of
                                                 Prelude.Nothing -> Data.Monoid.mempty
                                                 (Prelude.Just _v)
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
                                                        ((Prelude..)
                                                           (\ bs
                                                              -> (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      (Prelude.fromIntegral
                                                                         (Data.ByteString.length
                                                                            bs)))
                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                      bs))
                                                           Data.ProtoLens.encodeMessage _v))
                                              ((Data.Monoid.<>)
                                                 (let
                                                    _v
                                                      = Lens.Family2.view
                                                          (Data.ProtoLens.Field.field @"hash") _x
                                                  in
                                                    if (Prelude.==)
                                                         _v Data.ProtoLens.fieldDefault then
                                                        Data.Monoid.mempty
                                                    else
                                                        (Data.Monoid.<>)
                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                             106)
                                                          ((\ bs
                                                              -> (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      (Prelude.fromIntegral
                                                                         (Data.ByteString.length
                                                                            bs)))
                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                      bs))
                                                             _v))
                                                 ((Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                                                       (\ _v
                                                          -> (Data.Monoid.<>)
                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                  114)
                                                               ((Prelude..)
                                                                  (\ bs
                                                                     -> (Data.Monoid.<>)
                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                             (Prelude.fromIntegral
                                                                                (Data.ByteString.length
                                                                                   bs)))
                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                             bs))
                                                                  Data.ProtoLens.encodeMessage _v))
                                                       (Lens.Family2.view
                                                          (Data.ProtoLens.Field.field
                                                             @"vec'proposals")
                                                          _x))
                                                    (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                                       (Lens.Family2.view
                                                          Data.ProtoLens.unknownFields
                                                          _x)))))))))))))))
instance Control.DeepSeq.NFData Tx where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Tx'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Tx'inputs x__)
                (Control.DeepSeq.deepseq
                   (_Tx'outputs x__)
                   (Control.DeepSeq.deepseq
                      (_Tx'certificates x__)
                      (Control.DeepSeq.deepseq
                         (_Tx'withdrawals x__)
                         (Control.DeepSeq.deepseq
                            (_Tx'mint x__)
                            (Control.DeepSeq.deepseq
                               (_Tx'referenceInputs x__)
                               (Control.DeepSeq.deepseq
                                  (_Tx'witnesses x__)
                                  (Control.DeepSeq.deepseq
                                     (_Tx'collateral x__)
                                     (Control.DeepSeq.deepseq
                                        (_Tx'fee x__)
                                        (Control.DeepSeq.deepseq
                                           (_Tx'validity x__)
                                           (Control.DeepSeq.deepseq
                                              (_Tx'successful x__)
                                              (Control.DeepSeq.deepseq
                                                 (_Tx'auxiliary x__)
                                                 (Control.DeepSeq.deepseq
                                                    (_Tx'hash x__)
                                                    (Control.DeepSeq.deepseq
                                                       (_Tx'proposals x__) ()))))))))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.fee' @:: Lens' TxEval BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'fee' @:: Lens' TxEval (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.exUnits' @:: Lens' TxEval ExUnits@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'exUnits' @:: Lens' TxEval (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.errors' @:: Lens' TxEval [EvalReport]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'errors' @:: Lens' TxEval (Data.Vector.Vector EvalReport)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.traces' @:: Lens' TxEval [EvalReport]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'traces' @:: Lens' TxEval (Data.Vector.Vector EvalReport)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.redeemers' @:: Lens' TxEval [Redeemer]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'redeemers' @:: Lens' TxEval (Data.Vector.Vector Redeemer)@ -}
data TxEval
  = TxEval'_constructor {_TxEval'fee :: !(Prelude.Maybe BigInt),
                         _TxEval'exUnits :: !(Prelude.Maybe ExUnits),
                         _TxEval'errors :: !(Data.Vector.Vector EvalReport),
                         _TxEval'traces :: !(Data.Vector.Vector EvalReport),
                         _TxEval'redeemers :: !(Data.Vector.Vector Redeemer),
                         _TxEval'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxEval where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxEval "fee" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'fee (\ x__ y__ -> x__ {_TxEval'fee = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxEval "maybe'fee" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'fee (\ x__ y__ -> x__ {_TxEval'fee = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "exUnits" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'exUnits (\ x__ y__ -> x__ {_TxEval'exUnits = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxEval "maybe'exUnits" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'exUnits (\ x__ y__ -> x__ {_TxEval'exUnits = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "errors" [EvalReport] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'errors (\ x__ y__ -> x__ {_TxEval'errors = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxEval "vec'errors" (Data.Vector.Vector EvalReport) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'errors (\ x__ y__ -> x__ {_TxEval'errors = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "traces" [EvalReport] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'traces (\ x__ y__ -> x__ {_TxEval'traces = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxEval "vec'traces" (Data.Vector.Vector EvalReport) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'traces (\ x__ y__ -> x__ {_TxEval'traces = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "redeemers" [Redeemer] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'redeemers (\ x__ y__ -> x__ {_TxEval'redeemers = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxEval "vec'redeemers" (Data.Vector.Vector Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'redeemers (\ x__ y__ -> x__ {_TxEval'redeemers = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxEval where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.TxEval"
  packedMessageDescriptor _
    = "\n\
      \\ACKTxEval\DC20\n\
      \\ETXfee\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ETXfee\DC2:\n\
      \\bex_units\CAN\STX \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\aexUnits\DC2:\n\
      \\ACKerrors\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.EvalReportR\ACKerrors\DC2:\n\
      \\ACKtraces\CAN\EOT \ETX(\v2\".utxorpc.v1beta.cardano.EvalReportR\ACKtraces\DC2>\n\
      \\tredeemers\CAN\ENQ \ETX(\v2 .utxorpc.v1beta.cardano.RedeemerR\tredeemers"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        fee__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "fee"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'fee")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        exUnits__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ex_units"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'exUnits")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        errors__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "errors"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor EvalReport)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"errors")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        traces__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "traces"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor EvalReport)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"traces")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        redeemers__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemers"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"redeemers")) ::
              Data.ProtoLens.FieldDescriptor TxEval
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, fee__field_descriptor),
           (Data.ProtoLens.Tag 2, exUnits__field_descriptor),
           (Data.ProtoLens.Tag 3, errors__field_descriptor),
           (Data.ProtoLens.Tag 4, traces__field_descriptor),
           (Data.ProtoLens.Tag 5, redeemers__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxEval'_unknownFields
        (\ x__ y__ -> x__ {_TxEval'_unknownFields = y__})
  defMessage
    = TxEval'_constructor
        {_TxEval'fee = Prelude.Nothing, _TxEval'exUnits = Prelude.Nothing,
         _TxEval'errors = Data.Vector.Generic.empty,
         _TxEval'traces = Data.Vector.Generic.empty,
         _TxEval'redeemers = Data.Vector.Generic.empty,
         _TxEval'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxEval
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EvalReport
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Redeemer
                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EvalReport
                   -> Data.ProtoLens.Encoding.Bytes.Parser TxEval
        loop x mutable'errors mutable'redeemers mutable'traces
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'errors)
                      frozen'redeemers <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                               mutable'redeemers)
                      frozen'traces <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'traces)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'errors") frozen'errors
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'redeemers") frozen'redeemers
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"vec'traces") frozen'traces x))))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "fee"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"fee") y x)
                                  mutable'errors mutable'redeemers mutable'traces
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "ex_units"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"exUnits") y x)
                                  mutable'errors mutable'redeemers mutable'traces
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "errors"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'errors y)
                                loop x v mutable'redeemers mutable'traces
                        34
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "traces"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'traces y)
                                loop x mutable'errors mutable'redeemers v
                        42
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "redeemers"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'redeemers y)
                                loop x mutable'errors v mutable'traces
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'errors mutable'redeemers mutable'traces
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              mutable'redeemers <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     Data.ProtoLens.Encoding.Growing.new
              mutable'traces <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'errors mutable'redeemers
                mutable'traces)
          "TxEval"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'fee") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'exUnits") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'errors") _x))
                   ((Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                         (\ _v
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                 ((Prelude..)
                                    (\ bs
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                    Data.ProtoLens.encodeMessage _v))
                         (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'traces") _x))
                      ((Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                            (\ _v
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                    ((Prelude..)
                                       (\ bs
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                  (Prelude.fromIntegral
                                                     (Data.ByteString.length bs)))
                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                       Data.ProtoLens.encodeMessage _v))
                            (Lens.Family2.view
                               (Data.ProtoLens.Field.field @"vec'redeemers") _x))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData TxEval where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxEval'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxEval'fee x__)
                (Control.DeepSeq.deepseq
                   (_TxEval'exUnits x__)
                   (Control.DeepSeq.deepseq
                      (_TxEval'errors x__)
                      (Control.DeepSeq.deepseq
                         (_TxEval'traces x__)
                         (Control.DeepSeq.deepseq (_TxEval'redeemers x__) ())))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.multiplier' @:: Lens' TxFeePolicy Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.summand' @:: Lens' TxFeePolicy Data.Text.Text@ -}
data TxFeePolicy
  = TxFeePolicy'_constructor {_TxFeePolicy'multiplier :: !Data.Text.Text,
                              _TxFeePolicy'summand :: !Data.Text.Text,
                              _TxFeePolicy'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxFeePolicy where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxFeePolicy "multiplier" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxFeePolicy'multiplier
           (\ x__ y__ -> x__ {_TxFeePolicy'multiplier = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxFeePolicy "summand" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxFeePolicy'summand
           (\ x__ y__ -> x__ {_TxFeePolicy'summand = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxFeePolicy where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.TxFeePolicy"
  packedMessageDescriptor _
    = "\n\
      \\vTxFeePolicy\DC2\RS\n\
      \\n\
      \multiplier\CAN\SOH \SOH(\tR\n\
      \multiplier\DC2\CAN\n\
      \\asummand\CAN\STX \SOH(\tR\asummand"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        multiplier__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "multiplier"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"multiplier")) ::
              Data.ProtoLens.FieldDescriptor TxFeePolicy
        summand__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "summand"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"summand")) ::
              Data.ProtoLens.FieldDescriptor TxFeePolicy
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, multiplier__field_descriptor),
           (Data.ProtoLens.Tag 2, summand__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxFeePolicy'_unknownFields
        (\ x__ y__ -> x__ {_TxFeePolicy'_unknownFields = y__})
  defMessage
    = TxFeePolicy'_constructor
        {_TxFeePolicy'multiplier = Data.ProtoLens.fieldDefault,
         _TxFeePolicy'summand = Data.ProtoLens.fieldDefault,
         _TxFeePolicy'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxFeePolicy -> Data.ProtoLens.Encoding.Bytes.Parser TxFeePolicy
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "multiplier"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"multiplier") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "summand"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"summand") y x)
                        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) "TxFeePolicy"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"multiplier") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"summand") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData TxFeePolicy where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxFeePolicy'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxFeePolicy'multiplier x__)
                (Control.DeepSeq.deepseq (_TxFeePolicy'summand x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.txHash' @:: Lens' TxInput Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.outputIndex' @:: Lens' TxInput Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.asOutput' @:: Lens' TxInput TxOutput@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'asOutput' @:: Lens' TxInput (Prelude.Maybe TxOutput)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.redeemer' @:: Lens' TxInput Redeemer@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'redeemer' @:: Lens' TxInput (Prelude.Maybe Redeemer)@ -}
data TxInput
  = TxInput'_constructor {_TxInput'txHash :: !Data.ByteString.ByteString,
                          _TxInput'outputIndex :: !Data.Word.Word32,
                          _TxInput'asOutput :: !(Prelude.Maybe TxOutput),
                          _TxInput'redeemer :: !(Prelude.Maybe Redeemer),
                          _TxInput'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxInput where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxInput "txHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'txHash (\ x__ y__ -> x__ {_TxInput'txHash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxInput "outputIndex" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'outputIndex
           (\ x__ y__ -> x__ {_TxInput'outputIndex = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxInput "asOutput" TxOutput where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'asOutput (\ x__ y__ -> x__ {_TxInput'asOutput = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxInput "maybe'asOutput" (Prelude.Maybe TxOutput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'asOutput (\ x__ y__ -> x__ {_TxInput'asOutput = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxInput "redeemer" Redeemer where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'redeemer (\ x__ y__ -> x__ {_TxInput'redeemer = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxInput "maybe'redeemer" (Prelude.Maybe Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'redeemer (\ x__ y__ -> x__ {_TxInput'redeemer = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxInput where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.TxInput"
  packedMessageDescriptor _
    = "\n\
      \\aTxInput\DC2\ETB\n\
      \\atx_hash\CAN\SOH \SOH(\fR\ACKtxHash\DC2!\n\
      \\foutput_index\CAN\STX \SOH(\rR\voutputIndex\DC2=\n\
      \\tas_output\CAN\ETX \SOH(\v2 .utxorpc.v1beta.cardano.TxOutputR\basOutput\DC2A\n\
      \\bredeemer\CAN\EOT \SOH(\v2 .utxorpc.v1beta.cardano.RedeemerH\NULR\bredeemer\136\SOH\SOHB\v\n\
      \\t_redeemer"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        txHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tx_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"txHash")) ::
              Data.ProtoLens.FieldDescriptor TxInput
        outputIndex__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "output_index"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"outputIndex")) ::
              Data.ProtoLens.FieldDescriptor TxInput
        asOutput__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "as_output"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutput)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'asOutput")) ::
              Data.ProtoLens.FieldDescriptor TxInput
        redeemer__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemer"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'redeemer")) ::
              Data.ProtoLens.FieldDescriptor TxInput
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, txHash__field_descriptor),
           (Data.ProtoLens.Tag 2, outputIndex__field_descriptor),
           (Data.ProtoLens.Tag 3, asOutput__field_descriptor),
           (Data.ProtoLens.Tag 4, redeemer__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxInput'_unknownFields
        (\ x__ y__ -> x__ {_TxInput'_unknownFields = y__})
  defMessage
    = TxInput'_constructor
        {_TxInput'txHash = Data.ProtoLens.fieldDefault,
         _TxInput'outputIndex = Data.ProtoLens.fieldDefault,
         _TxInput'asOutput = Prelude.Nothing,
         _TxInput'redeemer = Prelude.Nothing, _TxInput'_unknownFields = []}
  parseMessage
    = let
        loop :: TxInput -> Data.ProtoLens.Encoding.Bytes.Parser TxInput
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "tx_hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"txHash") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "output_index"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"outputIndex") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "as_output"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"asOutput") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "redeemer"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"redeemer") y x)
                        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) "TxInput"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"txHash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"outputIndex") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'asOutput") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'redeemer") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData TxInput where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxInput'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxInput'txHash x__)
                (Control.DeepSeq.deepseq
                   (_TxInput'outputIndex x__)
                   (Control.DeepSeq.deepseq
                      (_TxInput'asOutput x__)
                      (Control.DeepSeq.deepseq (_TxInput'redeemer x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.address' @:: Lens' TxOutput Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' TxOutput BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' TxOutput (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.assets' @:: Lens' TxOutput [Multiasset]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'assets' @:: Lens' TxOutput (Data.Vector.Vector Multiasset)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.datum' @:: Lens' TxOutput Datum@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'datum' @:: Lens' TxOutput (Prelude.Maybe Datum)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.script' @:: Lens' TxOutput Script@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'script' @:: Lens' TxOutput (Prelude.Maybe Script)@ -}
data TxOutput
  = TxOutput'_constructor {_TxOutput'address :: !Data.ByteString.ByteString,
                           _TxOutput'coin :: !(Prelude.Maybe BigInt),
                           _TxOutput'assets :: !(Data.Vector.Vector Multiasset),
                           _TxOutput'datum :: !(Prelude.Maybe Datum),
                           _TxOutput'script :: !(Prelude.Maybe Script),
                           _TxOutput'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxOutput where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxOutput "address" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'address (\ x__ y__ -> x__ {_TxOutput'address = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'coin (\ x__ y__ -> x__ {_TxOutput'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutput "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'coin (\ x__ y__ -> x__ {_TxOutput'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "assets" [Multiasset] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'assets (\ x__ y__ -> x__ {_TxOutput'assets = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxOutput "vec'assets" (Data.Vector.Vector Multiasset) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'assets (\ x__ y__ -> x__ {_TxOutput'assets = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "datum" Datum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'datum (\ x__ y__ -> x__ {_TxOutput'datum = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutput "maybe'datum" (Prelude.Maybe Datum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'datum (\ x__ y__ -> x__ {_TxOutput'datum = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "script" Script where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'script (\ x__ y__ -> x__ {_TxOutput'script = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutput "maybe'script" (Prelude.Maybe Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'script (\ x__ y__ -> x__ {_TxOutput'script = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxOutput where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.TxOutput"
  packedMessageDescriptor _
    = "\n\
      \\bTxOutput\DC2\CAN\n\
      \\aaddress\CAN\SOH \SOH(\fR\aaddress\DC22\n\
      \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\DC2:\n\
      \\ACKassets\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.MultiassetR\ACKassets\DC28\n\
      \\ENQdatum\CAN\EOT \SOH(\v2\GS.utxorpc.v1beta.cardano.DatumH\NULR\ENQdatum\136\SOH\SOH\DC2;\n\
      \\ACKscript\CAN\ENQ \SOH(\v2\RS.utxorpc.v1beta.cardano.ScriptH\SOHR\ACKscript\136\SOH\SOHB\b\n\
      \\ACK_datumB\t\n\
      \\a_script"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        address__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "address"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"address")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        assets__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "assets"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Multiasset)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"assets")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        datum__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "datum"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Datum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'datum")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        script__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Script)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'script")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, address__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor),
           (Data.ProtoLens.Tag 3, assets__field_descriptor),
           (Data.ProtoLens.Tag 4, datum__field_descriptor),
           (Data.ProtoLens.Tag 5, script__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxOutput'_unknownFields
        (\ x__ y__ -> x__ {_TxOutput'_unknownFields = y__})
  defMessage
    = TxOutput'_constructor
        {_TxOutput'address = Data.ProtoLens.fieldDefault,
         _TxOutput'coin = Prelude.Nothing,
         _TxOutput'assets = Data.Vector.Generic.empty,
         _TxOutput'datum = Prelude.Nothing,
         _TxOutput'script = Prelude.Nothing, _TxOutput'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxOutput
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Multiasset
             -> Data.ProtoLens.Encoding.Bytes.Parser TxOutput
        loop x mutable'assets
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'assets)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'assets") frozen'assets x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "address"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"address") y x)
                                  mutable'assets
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                                  mutable'assets
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "assets"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'assets y)
                                loop x v
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "datum"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"datum") y x)
                                  mutable'assets
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"script") y x)
                                  mutable'assets
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'assets
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'assets)
          "TxOutput"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"address") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'assets") _x))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'datum") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'script") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData TxOutput where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxOutput'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxOutput'address x__)
                (Control.DeepSeq.deepseq
                   (_TxOutput'coin x__)
                   (Control.DeepSeq.deepseq
                      (_TxOutput'assets x__)
                      (Control.DeepSeq.deepseq
                         (_TxOutput'datum x__)
                         (Control.DeepSeq.deepseq (_TxOutput'script x__) ())))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.address' @:: Lens' TxOutputPattern AddressPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'address' @:: Lens' TxOutputPattern (Prelude.Maybe AddressPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.asset' @:: Lens' TxOutputPattern AssetPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'asset' @:: Lens' TxOutputPattern (Prelude.Maybe AssetPattern)@ -}
data TxOutputPattern
  = TxOutputPattern'_constructor {_TxOutputPattern'address :: !(Prelude.Maybe AddressPattern),
                                  _TxOutputPattern'asset :: !(Prelude.Maybe AssetPattern),
                                  _TxOutputPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxOutputPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxOutputPattern "address" AddressPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'address
           (\ x__ y__ -> x__ {_TxOutputPattern'address = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutputPattern "maybe'address" (Prelude.Maybe AddressPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'address
           (\ x__ y__ -> x__ {_TxOutputPattern'address = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutputPattern "asset" AssetPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'asset
           (\ x__ y__ -> x__ {_TxOutputPattern'asset = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutputPattern "maybe'asset" (Prelude.Maybe AssetPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'asset
           (\ x__ y__ -> x__ {_TxOutputPattern'asset = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxOutputPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.TxOutputPattern"
  packedMessageDescriptor _
    = "\n\
      \\SITxOutputPattern\DC2E\n\
      \\aaddress\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.AddressPatternH\NULR\aaddress\136\SOH\SOH\DC2?\n\
      \\ENQasset\CAN\STX \SOH(\v2$.utxorpc.v1beta.cardano.AssetPatternH\SOHR\ENQasset\136\SOH\SOHB\n\
      \\n\
      \\b_addressB\b\n\
      \\ACK_asset"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        address__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "address"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AddressPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'address")) ::
              Data.ProtoLens.FieldDescriptor TxOutputPattern
        asset__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "asset"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AssetPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'asset")) ::
              Data.ProtoLens.FieldDescriptor TxOutputPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, address__field_descriptor),
           (Data.ProtoLens.Tag 2, asset__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxOutputPattern'_unknownFields
        (\ x__ y__ -> x__ {_TxOutputPattern'_unknownFields = y__})
  defMessage
    = TxOutputPattern'_constructor
        {_TxOutputPattern'address = Prelude.Nothing,
         _TxOutputPattern'asset = Prelude.Nothing,
         _TxOutputPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxOutputPattern
          -> Data.ProtoLens.Encoding.Bytes.Parser TxOutputPattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "address"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"address") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "asset"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"asset") y x)
                        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) "TxOutputPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'address") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'asset") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData TxOutputPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxOutputPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxOutputPattern'address x__)
                (Control.DeepSeq.deepseq (_TxOutputPattern'asset x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.consumes' @:: Lens' TxPattern TxOutputPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'consumes' @:: Lens' TxPattern (Prelude.Maybe TxOutputPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.produces' @:: Lens' TxPattern TxOutputPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'produces' @:: Lens' TxPattern (Prelude.Maybe TxOutputPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hasAddress' @:: Lens' TxPattern AddressPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'hasAddress' @:: Lens' TxPattern (Prelude.Maybe AddressPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.movesAsset' @:: Lens' TxPattern AssetPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'movesAsset' @:: Lens' TxPattern (Prelude.Maybe AssetPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.mintsAsset' @:: Lens' TxPattern AssetPattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'mintsAsset' @:: Lens' TxPattern (Prelude.Maybe AssetPattern)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.hasCertificate' @:: Lens' TxPattern CertificatePattern@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'hasCertificate' @:: Lens' TxPattern (Prelude.Maybe CertificatePattern)@ -}
data TxPattern
  = TxPattern'_constructor {_TxPattern'consumes :: !(Prelude.Maybe TxOutputPattern),
                            _TxPattern'produces :: !(Prelude.Maybe TxOutputPattern),
                            _TxPattern'hasAddress :: !(Prelude.Maybe AddressPattern),
                            _TxPattern'movesAsset :: !(Prelude.Maybe AssetPattern),
                            _TxPattern'mintsAsset :: !(Prelude.Maybe AssetPattern),
                            _TxPattern'hasCertificate :: !(Prelude.Maybe CertificatePattern),
                            _TxPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxPattern "consumes" TxOutputPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'consumes (\ x__ y__ -> x__ {_TxPattern'consumes = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'consumes" (Prelude.Maybe TxOutputPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'consumes (\ x__ y__ -> x__ {_TxPattern'consumes = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "produces" TxOutputPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'produces (\ x__ y__ -> x__ {_TxPattern'produces = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'produces" (Prelude.Maybe TxOutputPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'produces (\ x__ y__ -> x__ {_TxPattern'produces = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "hasAddress" AddressPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'hasAddress
           (\ x__ y__ -> x__ {_TxPattern'hasAddress = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'hasAddress" (Prelude.Maybe AddressPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'hasAddress
           (\ x__ y__ -> x__ {_TxPattern'hasAddress = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "movesAsset" AssetPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'movesAsset
           (\ x__ y__ -> x__ {_TxPattern'movesAsset = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'movesAsset" (Prelude.Maybe AssetPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'movesAsset
           (\ x__ y__ -> x__ {_TxPattern'movesAsset = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "mintsAsset" AssetPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'mintsAsset
           (\ x__ y__ -> x__ {_TxPattern'mintsAsset = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'mintsAsset" (Prelude.Maybe AssetPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'mintsAsset
           (\ x__ y__ -> x__ {_TxPattern'mintsAsset = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "hasCertificate" CertificatePattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'hasCertificate
           (\ x__ y__ -> x__ {_TxPattern'hasCertificate = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'hasCertificate" (Prelude.Maybe CertificatePattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'hasCertificate
           (\ x__ y__ -> x__ {_TxPattern'hasCertificate = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxPattern where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.TxPattern"
  packedMessageDescriptor _
    = "\n\
      \\tTxPattern\DC2C\n\
      \\bconsumes\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.TxOutputPatternR\bconsumes\DC2C\n\
      \\bproduces\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.TxOutputPatternR\bproduces\DC2G\n\
      \\vhas_address\CAN\ETX \SOH(\v2&.utxorpc.v1beta.cardano.AddressPatternR\n\
      \hasAddress\DC2E\n\
      \\vmoves_asset\CAN\EOT \SOH(\v2$.utxorpc.v1beta.cardano.AssetPatternR\n\
      \movesAsset\DC2E\n\
      \\vmints_asset\CAN\ENQ \SOH(\v2$.utxorpc.v1beta.cardano.AssetPatternR\n\
      \mintsAsset\DC2S\n\
      \\SIhas_certificate\CAN\ACK \SOH(\v2*.utxorpc.v1beta.cardano.CertificatePatternR\SOhasCertificate"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        consumes__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "consumes"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutputPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'consumes")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        produces__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "produces"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutputPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'produces")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        hasAddress__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "has_address"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AddressPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'hasAddress")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        movesAsset__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "moves_asset"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AssetPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'movesAsset")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        mintsAsset__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mints_asset"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AssetPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'mintsAsset")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        hasCertificate__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "has_certificate"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CertificatePattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'hasCertificate")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, consumes__field_descriptor),
           (Data.ProtoLens.Tag 2, produces__field_descriptor),
           (Data.ProtoLens.Tag 3, hasAddress__field_descriptor),
           (Data.ProtoLens.Tag 4, movesAsset__field_descriptor),
           (Data.ProtoLens.Tag 5, mintsAsset__field_descriptor),
           (Data.ProtoLens.Tag 6, hasCertificate__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxPattern'_unknownFields
        (\ x__ y__ -> x__ {_TxPattern'_unknownFields = y__})
  defMessage
    = TxPattern'_constructor
        {_TxPattern'consumes = Prelude.Nothing,
         _TxPattern'produces = Prelude.Nothing,
         _TxPattern'hasAddress = Prelude.Nothing,
         _TxPattern'movesAsset = Prelude.Nothing,
         _TxPattern'mintsAsset = Prelude.Nothing,
         _TxPattern'hasCertificate = Prelude.Nothing,
         _TxPattern'_unknownFields = []}
  parseMessage
    = let
        loop :: TxPattern -> Data.ProtoLens.Encoding.Bytes.Parser TxPattern
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "consumes"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"consumes") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "produces"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"produces") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "has_address"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"hasAddress") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "moves_asset"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"movesAsset") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "mints_asset"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"mintsAsset") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "has_certificate"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"hasCertificate") y x)
                        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) "TxPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'consumes") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'produces") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'hasAddress") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'movesAsset") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view
                                (Data.ProtoLens.Field.field @"maybe'mintsAsset") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         ((Data.Monoid.<>)
                            (case
                                 Lens.Family2.view
                                   (Data.ProtoLens.Field.field @"maybe'hasCertificate") _x
                             of
                               Prelude.Nothing -> Data.Monoid.mempty
                               (Prelude.Just _v)
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                      ((Prelude..)
                                         (\ bs
                                            -> (Data.Monoid.<>)
                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                    (Prelude.fromIntegral
                                                       (Data.ByteString.length bs)))
                                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                         Data.ProtoLens.encodeMessage _v))
                            (Data.ProtoLens.Encoding.Wire.buildFieldSet
                               (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
instance Control.DeepSeq.NFData TxPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxPattern'consumes x__)
                (Control.DeepSeq.deepseq
                   (_TxPattern'produces x__)
                   (Control.DeepSeq.deepseq
                      (_TxPattern'hasAddress x__)
                      (Control.DeepSeq.deepseq
                         (_TxPattern'movesAsset x__)
                         (Control.DeepSeq.deepseq
                            (_TxPattern'mintsAsset x__)
                            (Control.DeepSeq.deepseq (_TxPattern'hasCertificate x__) ()))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.start' @:: Lens' TxValidity Data.Word.Word64@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.ttl' @:: Lens' TxValidity Data.Word.Word64@ -}
data TxValidity
  = TxValidity'_constructor {_TxValidity'start :: !Data.Word.Word64,
                             _TxValidity'ttl :: !Data.Word.Word64,
                             _TxValidity'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxValidity where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxValidity "start" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxValidity'start (\ x__ y__ -> x__ {_TxValidity'start = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxValidity "ttl" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxValidity'ttl (\ x__ y__ -> x__ {_TxValidity'ttl = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxValidity where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.TxValidity"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \TxValidity\DC2\DC4\n\
      \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\
      \\ETXttl\CAN\STX \SOH(\EOTR\ETXttl"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        start__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "start"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"start")) ::
              Data.ProtoLens.FieldDescriptor TxValidity
        ttl__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ttl"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"ttl")) ::
              Data.ProtoLens.FieldDescriptor TxValidity
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, start__field_descriptor),
           (Data.ProtoLens.Tag 2, ttl__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxValidity'_unknownFields
        (\ x__ y__ -> x__ {_TxValidity'_unknownFields = y__})
  defMessage
    = TxValidity'_constructor
        {_TxValidity'start = Data.ProtoLens.fieldDefault,
         _TxValidity'ttl = Data.ProtoLens.fieldDefault,
         _TxValidity'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxValidity -> Data.ProtoLens.Encoding.Bytes.Parser TxValidity
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "start"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "ttl"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"ttl") y x)
                        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) "TxValidity"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"start") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"ttl") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData TxValidity where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxValidity'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxValidity'start x__)
                (Control.DeepSeq.deepseq (_TxValidity'ttl x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' UnRegCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' UnRegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' UnRegCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' UnRegCert (Prelude.Maybe BigInt)@ -}
data UnRegCert
  = UnRegCert'_constructor {_UnRegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                            _UnRegCert'coin :: !(Prelude.Maybe BigInt),
                            _UnRegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UnRegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UnRegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegCert'stakeCredential
           (\ x__ y__ -> x__ {_UnRegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UnRegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegCert'stakeCredential
           (\ x__ y__ -> x__ {_UnRegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UnRegCert "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegCert'coin (\ x__ y__ -> x__ {_UnRegCert'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UnRegCert "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegCert'coin (\ x__ y__ -> x__ {_UnRegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message UnRegCert where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.UnRegCert"
  packedMessageDescriptor _
    = "\n\
      \\tUnRegCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC22\n\
      \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor UnRegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor UnRegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UnRegCert'_unknownFields
        (\ x__ y__ -> x__ {_UnRegCert'_unknownFields = y__})
  defMessage
    = UnRegCert'_constructor
        {_UnRegCert'stakeCredential = Prelude.Nothing,
         _UnRegCert'coin = Prelude.Nothing, _UnRegCert'_unknownFields = []}
  parseMessage
    = let
        loop :: UnRegCert -> Data.ProtoLens.Encoding.Bytes.Parser UnRegCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        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) "UnRegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData UnRegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UnRegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UnRegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq (_UnRegCert'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepCredential' @:: Lens' UnRegDRepCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drepCredential' @:: Lens' UnRegDRepCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' UnRegDRepCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' UnRegDRepCert (Prelude.Maybe BigInt)@ -}
data UnRegDRepCert
  = UnRegDRepCert'_constructor {_UnRegDRepCert'drepCredential :: !(Prelude.Maybe StakeCredential),
                                _UnRegDRepCert'coin :: !(Prelude.Maybe BigInt),
                                _UnRegDRepCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UnRegDRepCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UnRegDRepCert "drepCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UnRegDRepCert'drepCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UnRegDRepCert "maybe'drepCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UnRegDRepCert'drepCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UnRegDRepCert "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegDRepCert'coin (\ x__ y__ -> x__ {_UnRegDRepCert'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UnRegDRepCert "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegDRepCert'coin (\ x__ y__ -> x__ {_UnRegDRepCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message UnRegDRepCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.UnRegDRepCert"
  packedMessageDescriptor _
    = "\n\
      \\rUnRegDRepCert\DC2P\n\
      \\SIdrep_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SOdrepCredential\DC22\n\
      \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        drepCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepCredential")) ::
              Data.ProtoLens.FieldDescriptor UnRegDRepCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor UnRegDRepCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, drepCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UnRegDRepCert'_unknownFields
        (\ x__ y__ -> x__ {_UnRegDRepCert'_unknownFields = y__})
  defMessage
    = UnRegDRepCert'_constructor
        {_UnRegDRepCert'drepCredential = Prelude.Nothing,
         _UnRegDRepCert'coin = Prelude.Nothing,
         _UnRegDRepCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          UnRegDRepCert -> Data.ProtoLens.Encoding.Bytes.Parser UnRegDRepCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        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) "UnRegDRepCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'drepCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData UnRegDRepCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UnRegDRepCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UnRegDRepCert'drepCredential x__)
                (Control.DeepSeq.deepseq (_UnRegDRepCert'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.govActionId' @:: Lens' UpdateCommitteeAction GovernanceActionId@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' UpdateCommitteeAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.removeCommitteeCredentials' @:: Lens' UpdateCommitteeAction [StakeCredential]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'removeCommitteeCredentials' @:: Lens' UpdateCommitteeAction (Data.Vector.Vector StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.newCommitteeCredentials' @:: Lens' UpdateCommitteeAction [NewCommitteeCredentials]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'newCommitteeCredentials' @:: Lens' UpdateCommitteeAction (Data.Vector.Vector NewCommitteeCredentials)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.newCommitteeThreshold' @:: Lens' UpdateCommitteeAction RationalNumber@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'newCommitteeThreshold' @:: Lens' UpdateCommitteeAction (Prelude.Maybe RationalNumber)@ -}
data UpdateCommitteeAction
  = UpdateCommitteeAction'_constructor {_UpdateCommitteeAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                        _UpdateCommitteeAction'removeCommitteeCredentials :: !(Data.Vector.Vector StakeCredential),
                                        _UpdateCommitteeAction'newCommitteeCredentials :: !(Data.Vector.Vector NewCommitteeCredentials),
                                        _UpdateCommitteeAction'newCommitteeThreshold :: !(Prelude.Maybe RationalNumber),
                                        _UpdateCommitteeAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UpdateCommitteeAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'govActionId
           (\ x__ y__ -> x__ {_UpdateCommitteeAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'govActionId
           (\ x__ y__ -> x__ {_UpdateCommitteeAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "removeCommitteeCredentials" [StakeCredential] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'removeCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'removeCommitteeCredentials = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "vec'removeCommitteeCredentials" (Data.Vector.Vector StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'removeCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'removeCommitteeCredentials = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "newCommitteeCredentials" [NewCommitteeCredentials] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeCredentials = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "vec'newCommitteeCredentials" (Data.Vector.Vector NewCommitteeCredentials) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeCredentials = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "newCommitteeThreshold" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeThreshold
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeThreshold = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "maybe'newCommitteeThreshold" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeThreshold
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeThreshold = y__}))
        Prelude.id
instance Data.ProtoLens.Message UpdateCommitteeAction where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.UpdateCommitteeAction"
  packedMessageDescriptor _
    = "\n\
      \\NAKUpdateCommitteeAction\DC2N\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2i\n\
      \\FSremove_committee_credentials\CAN\STX \ETX(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SUBremoveCommitteeCredentials\DC2k\n\
      \\EMnew_committee_credentials\CAN\ETX \ETX(\v2/.utxorpc.v1beta.cardano.NewCommitteeCredentialsR\ETBnewCommitteeCredentials\DC2^\n\
      \\ETBnew_committee_threshold\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\NAKnewCommitteeThreshold"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
        removeCommitteeCredentials__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "remove_committee_credentials"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"removeCommitteeCredentials")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
        newCommitteeCredentials__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "new_committee_credentials"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NewCommitteeCredentials)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"newCommitteeCredentials")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
        newCommitteeThreshold__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "new_committee_threshold"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'newCommitteeThreshold")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, 
            removeCommitteeCredentials__field_descriptor),
           (Data.ProtoLens.Tag 3, newCommitteeCredentials__field_descriptor),
           (Data.ProtoLens.Tag 4, newCommitteeThreshold__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UpdateCommitteeAction'_unknownFields
        (\ x__ y__ -> x__ {_UpdateCommitteeAction'_unknownFields = y__})
  defMessage
    = UpdateCommitteeAction'_constructor
        {_UpdateCommitteeAction'govActionId = Prelude.Nothing,
         _UpdateCommitteeAction'removeCommitteeCredentials = Data.Vector.Generic.empty,
         _UpdateCommitteeAction'newCommitteeCredentials = Data.Vector.Generic.empty,
         _UpdateCommitteeAction'newCommitteeThreshold = Prelude.Nothing,
         _UpdateCommitteeAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          UpdateCommitteeAction
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NewCommitteeCredentials
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld StakeCredential
                -> Data.ProtoLens.Encoding.Bytes.Parser UpdateCommitteeAction
        loop
          x
          mutable'newCommitteeCredentials
          mutable'removeCommitteeCredentials
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'newCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                             mutable'newCommitteeCredentials)
                      frozen'removeCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                                mutable'removeCommitteeCredentials)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'newCommitteeCredentials")
                              frozen'newCommitteeCredentials
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'removeCommitteeCredentials")
                                 frozen'removeCommitteeCredentials x)))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                                  mutable'newCommitteeCredentials mutable'removeCommitteeCredentials
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "remove_committee_credentials"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'removeCommitteeCredentials y)
                                loop x mutable'newCommitteeCredentials v
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "new_committee_credentials"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'newCommitteeCredentials y)
                                loop x v mutable'removeCommitteeCredentials
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "new_committee_threshold"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"newCommitteeThreshold") y x)
                                  mutable'newCommitteeCredentials mutable'removeCommitteeCredentials
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'newCommitteeCredentials mutable'removeCommitteeCredentials
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'newCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                   Data.ProtoLens.Encoding.Growing.new
              mutable'removeCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                      Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'newCommitteeCredentials
                mutable'removeCommitteeCredentials)
          "UpdateCommitteeAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view
                      (Data.ProtoLens.Field.field @"vec'removeCommitteeCredentials") _x))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view
                         (Data.ProtoLens.Field.field @"vec'newCommitteeCredentials") _x))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'newCommitteeThreshold") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData UpdateCommitteeAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UpdateCommitteeAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UpdateCommitteeAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_UpdateCommitteeAction'removeCommitteeCredentials x__)
                   (Control.DeepSeq.deepseq
                      (_UpdateCommitteeAction'newCommitteeCredentials x__)
                      (Control.DeepSeq.deepseq
                         (_UpdateCommitteeAction'newCommitteeThreshold x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drepCredential' @:: Lens' UpdateDRepCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drepCredential' @:: Lens' UpdateDRepCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.anchor' @:: Lens' UpdateDRepCert Anchor@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' UpdateDRepCert (Prelude.Maybe Anchor)@ -}
data UpdateDRepCert
  = UpdateDRepCert'_constructor {_UpdateDRepCert'drepCredential :: !(Prelude.Maybe StakeCredential),
                                 _UpdateDRepCert'anchor :: !(Prelude.Maybe Anchor),
                                 _UpdateDRepCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UpdateDRepCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UpdateDRepCert "drepCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UpdateDRepCert'drepCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateDRepCert "maybe'drepCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UpdateDRepCert'drepCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateDRepCert "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'anchor
           (\ x__ y__ -> x__ {_UpdateDRepCert'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateDRepCert "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'anchor
           (\ x__ y__ -> x__ {_UpdateDRepCert'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message UpdateDRepCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.UpdateDRepCert"
  packedMessageDescriptor _
    = "\n\
      \\SOUpdateDRepCert\DC2P\n\
      \\SIdrep_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SOdrepCredential\DC26\n\
      \\ACKanchor\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        drepCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepCredential")) ::
              Data.ProtoLens.FieldDescriptor UpdateDRepCert
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor UpdateDRepCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, drepCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UpdateDRepCert'_unknownFields
        (\ x__ y__ -> x__ {_UpdateDRepCert'_unknownFields = y__})
  defMessage
    = UpdateDRepCert'_constructor
        {_UpdateDRepCert'drepCredential = Prelude.Nothing,
         _UpdateDRepCert'anchor = Prelude.Nothing,
         _UpdateDRepCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          UpdateDRepCert
          -> Data.ProtoLens.Encoding.Bytes.Parser UpdateDRepCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        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) "UpdateDRepCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'drepCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData UpdateDRepCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UpdateDRepCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UpdateDRepCert'drepCredential x__)
                (Control.DeepSeq.deepseq (_UpdateDRepCert'anchor x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vkey' @:: Lens' VKeyWitness Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.signature' @:: Lens' VKeyWitness Data.ByteString.ByteString@ -}
data VKeyWitness
  = VKeyWitness'_constructor {_VKeyWitness'vkey :: !Data.ByteString.ByteString,
                              _VKeyWitness'signature :: !Data.ByteString.ByteString,
                              _VKeyWitness'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VKeyWitness where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VKeyWitness "vkey" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VKeyWitness'vkey (\ x__ y__ -> x__ {_VKeyWitness'vkey = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VKeyWitness "signature" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VKeyWitness'signature
           (\ x__ y__ -> x__ {_VKeyWitness'signature = y__}))
        Prelude.id
instance Data.ProtoLens.Message VKeyWitness where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.VKeyWitness"
  packedMessageDescriptor _
    = "\n\
      \\vVKeyWitness\DC2\DC2\n\
      \\EOTvkey\CAN\SOH \SOH(\fR\EOTvkey\DC2\FS\n\
      \\tsignature\CAN\STX \SOH(\fR\tsignature"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        vkey__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vkey"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"vkey")) ::
              Data.ProtoLens.FieldDescriptor VKeyWitness
        signature__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "signature"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"signature")) ::
              Data.ProtoLens.FieldDescriptor VKeyWitness
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, vkey__field_descriptor),
           (Data.ProtoLens.Tag 2, signature__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VKeyWitness'_unknownFields
        (\ x__ y__ -> x__ {_VKeyWitness'_unknownFields = y__})
  defMessage
    = VKeyWitness'_constructor
        {_VKeyWitness'vkey = Data.ProtoLens.fieldDefault,
         _VKeyWitness'signature = Data.ProtoLens.fieldDefault,
         _VKeyWitness'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VKeyWitness -> Data.ProtoLens.Encoding.Bytes.Parser VKeyWitness
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "vkey"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"vkey") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "signature"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"signature") y x)
                        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) "VKeyWitness"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"vkey") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"signature") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData VKeyWitness where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VKeyWitness'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_VKeyWitness'vkey x__)
                (Control.DeepSeq.deepseq (_VKeyWitness'signature x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' VoteDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' VoteDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drep' @:: Lens' VoteDelegCert DRep@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drep' @:: Lens' VoteDelegCert (Prelude.Maybe DRep)@ -}
data VoteDelegCert
  = VoteDelegCert'_constructor {_VoteDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                _VoteDelegCert'drep :: !(Prelude.Maybe DRep),
                                _VoteDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VoteDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VoteDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VoteDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'drep (\ x__ y__ -> x__ {_VoteDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'drep (\ x__ y__ -> x__ {_VoteDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Message VoteDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.VoteDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\rVoteDelegCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC20\n\
      \\EOTdrep\CAN\STX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor VoteDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor VoteDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, drep__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VoteDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_VoteDelegCert'_unknownFields = y__})
  defMessage
    = VoteDelegCert'_constructor
        {_VoteDelegCert'stakeCredential = Prelude.Nothing,
         _VoteDelegCert'drep = Prelude.Nothing,
         _VoteDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VoteDelegCert -> Data.ProtoLens.Encoding.Bytes.Parser VoteDelegCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        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) "VoteDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData VoteDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VoteDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_VoteDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq (_VoteDelegCert'drep x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.stakeCredential' @:: Lens' VoteRegDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' VoteRegDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.drep' @:: Lens' VoteRegDelegCert DRep@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'drep' @:: Lens' VoteRegDelegCert (Prelude.Maybe DRep)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' VoteRegDelegCert BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' VoteRegDelegCert (Prelude.Maybe BigInt)@ -}
data VoteRegDelegCert
  = VoteRegDelegCert'_constructor {_VoteRegDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                   _VoteRegDelegCert'drep :: !(Prelude.Maybe DRep),
                                   _VoteRegDelegCert'coin :: !(Prelude.Maybe BigInt),
                                   _VoteRegDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VoteRegDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteRegDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteRegDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_VoteRegDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_VoteRegDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'coin
           (\ x__ y__ -> x__ {_VoteRegDelegCert'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'coin
           (\ x__ y__ -> x__ {_VoteRegDelegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message VoteRegDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.VoteRegDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\DLEVoteRegDelegCert\DC2R\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC20\n\
      \\EOTdrep\CAN\STX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep\DC22\n\
      \\EOTcoin\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor VoteRegDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor VoteRegDelegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor VoteRegDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, drep__field_descriptor),
           (Data.ProtoLens.Tag 3, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VoteRegDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_VoteRegDelegCert'_unknownFields = y__})
  defMessage
    = VoteRegDelegCert'_constructor
        {_VoteRegDelegCert'stakeCredential = Prelude.Nothing,
         _VoteRegDelegCert'drep = Prelude.Nothing,
         _VoteRegDelegCert'coin = Prelude.Nothing,
         _VoteRegDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VoteRegDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser VoteRegDelegCert
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        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) "VoteRegDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData VoteRegDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VoteRegDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_VoteRegDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_VoteRegDelegCert'drep x__)
                   (Control.DeepSeq.deepseq (_VoteRegDelegCert'coin x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.thresholds' @:: Lens' VotingThresholds [RationalNumber]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'thresholds' @:: Lens' VotingThresholds (Data.Vector.Vector RationalNumber)@ -}
data VotingThresholds
  = VotingThresholds'_constructor {_VotingThresholds'thresholds :: !(Data.Vector.Vector RationalNumber),
                                   _VotingThresholds'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VotingThresholds where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VotingThresholds "thresholds" [RationalNumber] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VotingThresholds'thresholds
           (\ x__ y__ -> x__ {_VotingThresholds'thresholds = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField VotingThresholds "vec'thresholds" (Data.Vector.Vector RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VotingThresholds'thresholds
           (\ x__ y__ -> x__ {_VotingThresholds'thresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Message VotingThresholds where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.VotingThresholds"
  packedMessageDescriptor _
    = "\n\
      \\DLEVotingThresholds\DC2F\n\
      \\n\
      \thresholds\CAN\SOH \ETX(\v2&.utxorpc.v1beta.cardano.RationalNumberR\n\
      \thresholds"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        thresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"thresholds")) ::
              Data.ProtoLens.FieldDescriptor VotingThresholds
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, thresholds__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VotingThresholds'_unknownFields
        (\ x__ y__ -> x__ {_VotingThresholds'_unknownFields = y__})
  defMessage
    = VotingThresholds'_constructor
        {_VotingThresholds'thresholds = Data.Vector.Generic.empty,
         _VotingThresholds'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VotingThresholds
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld RationalNumber
             -> Data.ProtoLens.Encoding.Bytes.Parser VotingThresholds
        loop x mutable'thresholds
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'thresholds <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                mutable'thresholds)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'thresholds") frozen'thresholds
                              x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "thresholds"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'thresholds 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'thresholds
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'thresholds <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                      Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'thresholds)
          "VotingThresholds"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'thresholds") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData VotingThresholds where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VotingThresholds'_unknownFields x__)
             (Control.DeepSeq.deepseq (_VotingThresholds'thresholds x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.expiryEpoch' @:: Lens' VssCert Data.Word.Word32@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.signature' @:: Lens' VssCert Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.signingKey' @:: Lens' VssCert Data.Text.Text@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vssKey' @:: Lens' VssCert Data.Text.Text@ -}
data VssCert
  = VssCert'_constructor {_VssCert'expiryEpoch :: !Data.Word.Word32,
                          _VssCert'signature :: !Data.Text.Text,
                          _VssCert'signingKey :: !Data.Text.Text,
                          _VssCert'vssKey :: !Data.Text.Text,
                          _VssCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VssCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VssCert "expiryEpoch" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VssCert'expiryEpoch
           (\ x__ y__ -> x__ {_VssCert'expiryEpoch = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VssCert "signature" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VssCert'signature (\ x__ y__ -> x__ {_VssCert'signature = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VssCert "signingKey" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VssCert'signingKey (\ x__ y__ -> x__ {_VssCert'signingKey = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VssCert "vssKey" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VssCert'vssKey (\ x__ y__ -> x__ {_VssCert'vssKey = y__}))
        Prelude.id
instance Data.ProtoLens.Message VssCert where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.VssCert"
  packedMessageDescriptor _
    = "\n\
      \\aVssCert\DC2!\n\
      \\fexpiry_epoch\CAN\SOH \SOH(\rR\vexpiryEpoch\DC2\FS\n\
      \\tsignature\CAN\STX \SOH(\tR\tsignature\DC2\US\n\
      \\vsigning_key\CAN\ETX \SOH(\tR\n\
      \signingKey\DC2\ETB\n\
      \\avss_key\CAN\EOT \SOH(\tR\ACKvssKey"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        expiryEpoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "expiry_epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"expiryEpoch")) ::
              Data.ProtoLens.FieldDescriptor VssCert
        signature__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "signature"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"signature")) ::
              Data.ProtoLens.FieldDescriptor VssCert
        signingKey__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "signing_key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"signingKey")) ::
              Data.ProtoLens.FieldDescriptor VssCert
        vssKey__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vss_key"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"vssKey")) ::
              Data.ProtoLens.FieldDescriptor VssCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, expiryEpoch__field_descriptor),
           (Data.ProtoLens.Tag 2, signature__field_descriptor),
           (Data.ProtoLens.Tag 3, signingKey__field_descriptor),
           (Data.ProtoLens.Tag 4, vssKey__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VssCert'_unknownFields
        (\ x__ y__ -> x__ {_VssCert'_unknownFields = y__})
  defMessage
    = VssCert'_constructor
        {_VssCert'expiryEpoch = Data.ProtoLens.fieldDefault,
         _VssCert'signature = Data.ProtoLens.fieldDefault,
         _VssCert'signingKey = Data.ProtoLens.fieldDefault,
         _VssCert'vssKey = Data.ProtoLens.fieldDefault,
         _VssCert'_unknownFields = []}
  parseMessage
    = let
        loop :: VssCert -> Data.ProtoLens.Encoding.Bytes.Parser VssCert
        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
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "expiry_epoch"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"expiryEpoch") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "signature"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"signature") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "signing_key"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"signingKey") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "vss_key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"vssKey") y x)
                        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) "VssCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"expiryEpoch") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"signature") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((Prelude..)
                            (\ bs
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            Data.Text.Encoding.encodeUtf8 _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"signingKey") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((Prelude..)
                               (\ bs
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               Data.Text.Encoding.encodeUtf8 _v))
                   ((Data.Monoid.<>)
                      (let
                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"vssKey") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                               ((Prelude..)
                                  (\ bs
                                     -> (Data.Monoid.<>)
                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                             (Prelude.fromIntegral (Data.ByteString.length bs)))
                                          (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                  Data.Text.Encoding.encodeUtf8 _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData VssCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VssCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_VssCert'expiryEpoch x__)
                (Control.DeepSeq.deepseq
                   (_VssCert'signature x__)
                   (Control.DeepSeq.deepseq
                      (_VssCert'signingKey x__)
                      (Control.DeepSeq.deepseq (_VssCert'vssKey x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.rewardAccount' @:: Lens' Withdrawal Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' Withdrawal BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' Withdrawal (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.redeemer' @:: Lens' Withdrawal Redeemer@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'redeemer' @:: Lens' Withdrawal (Prelude.Maybe Redeemer)@ -}
data Withdrawal
  = Withdrawal'_constructor {_Withdrawal'rewardAccount :: !Data.ByteString.ByteString,
                             _Withdrawal'coin :: !(Prelude.Maybe BigInt),
                             _Withdrawal'redeemer :: !(Prelude.Maybe Redeemer),
                             _Withdrawal'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Withdrawal where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Withdrawal "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'rewardAccount
           (\ x__ y__ -> x__ {_Withdrawal'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Withdrawal "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'coin (\ x__ y__ -> x__ {_Withdrawal'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Withdrawal "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'coin (\ x__ y__ -> x__ {_Withdrawal'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Withdrawal "redeemer" Redeemer where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'redeemer
           (\ x__ y__ -> x__ {_Withdrawal'redeemer = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Withdrawal "maybe'redeemer" (Prelude.Maybe Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'redeemer
           (\ x__ y__ -> x__ {_Withdrawal'redeemer = y__}))
        Prelude.id
instance Data.ProtoLens.Message Withdrawal where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.Withdrawal"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \Withdrawal\DC2%\n\
      \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC22\n\
      \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\DC2<\n\
      \\bredeemer\CAN\ETX \SOH(\v2 .utxorpc.v1beta.cardano.RedeemerR\bredeemer"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor Withdrawal
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor Withdrawal
        redeemer__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemer"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'redeemer")) ::
              Data.ProtoLens.FieldDescriptor Withdrawal
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor),
           (Data.ProtoLens.Tag 3, redeemer__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Withdrawal'_unknownFields
        (\ x__ y__ -> x__ {_Withdrawal'_unknownFields = y__})
  defMessage
    = Withdrawal'_constructor
        {_Withdrawal'rewardAccount = Data.ProtoLens.fieldDefault,
         _Withdrawal'coin = Prelude.Nothing,
         _Withdrawal'redeemer = Prelude.Nothing,
         _Withdrawal'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Withdrawal -> Data.ProtoLens.Encoding.Bytes.Parser Withdrawal
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "redeemer"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"redeemer") y x)
                        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) "Withdrawal"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"rewardAccount") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'redeemer") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Withdrawal where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Withdrawal'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Withdrawal'rewardAccount x__)
                (Control.DeepSeq.deepseq
                   (_Withdrawal'coin x__)
                   (Control.DeepSeq.deepseq (_Withdrawal'redeemer x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.rewardAccount' @:: Lens' WithdrawalAmount Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.coin' @:: Lens' WithdrawalAmount BigInt@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.maybe'coin' @:: Lens' WithdrawalAmount (Prelude.Maybe BigInt)@ -}
data WithdrawalAmount
  = WithdrawalAmount'_constructor {_WithdrawalAmount'rewardAccount :: !Data.ByteString.ByteString,
                                   _WithdrawalAmount'coin :: !(Prelude.Maybe BigInt),
                                   _WithdrawalAmount'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show WithdrawalAmount where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField WithdrawalAmount "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WithdrawalAmount'rewardAccount
           (\ x__ y__ -> x__ {_WithdrawalAmount'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WithdrawalAmount "coin" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WithdrawalAmount'coin
           (\ x__ y__ -> x__ {_WithdrawalAmount'coin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField WithdrawalAmount "maybe'coin" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WithdrawalAmount'coin
           (\ x__ y__ -> x__ {_WithdrawalAmount'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message WithdrawalAmount where
  messageName _
    = Data.Text.pack "utxorpc.v1beta.cardano.WithdrawalAmount"
  packedMessageDescriptor _
    = "\n\
      \\DLEWithdrawalAmount\DC2%\n\
      \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC22\n\
      \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor WithdrawalAmount
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'coin")) ::
              Data.ProtoLens.FieldDescriptor WithdrawalAmount
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _WithdrawalAmount'_unknownFields
        (\ x__ y__ -> x__ {_WithdrawalAmount'_unknownFields = y__})
  defMessage
    = WithdrawalAmount'_constructor
        {_WithdrawalAmount'rewardAccount = Data.ProtoLens.fieldDefault,
         _WithdrawalAmount'coin = Prelude.Nothing,
         _WithdrawalAmount'_unknownFields = []}
  parseMessage
    = let
        loop ::
          WithdrawalAmount
          -> Data.ProtoLens.Encoding.Bytes.Parser WithdrawalAmount
        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
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        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) "WithdrawalAmount"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"rewardAccount") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'coin") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData WithdrawalAmount where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_WithdrawalAmount'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_WithdrawalAmount'rewardAccount x__)
                (Control.DeepSeq.deepseq (_WithdrawalAmount'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vkeywitness' @:: Lens' WitnessSet [VKeyWitness]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'vkeywitness' @:: Lens' WitnessSet (Data.Vector.Vector VKeyWitness)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.script' @:: Lens' WitnessSet [Script]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'script' @:: Lens' WitnessSet (Data.Vector.Vector Script)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.plutusDatums' @:: Lens' WitnessSet [PlutusData]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'plutusDatums' @:: Lens' WitnessSet (Data.Vector.Vector PlutusData)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.redeemers' @:: Lens' WitnessSet [Redeemer]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'redeemers' @:: Lens' WitnessSet (Data.Vector.Vector Redeemer)@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.bootstrapWitnesses' @:: Lens' WitnessSet [BootstrapWitness]@
         * 'Proto.Utxorpc.V1beta.Cardano.Cardano_Fields.vec'bootstrapWitnesses' @:: Lens' WitnessSet (Data.Vector.Vector BootstrapWitness)@ -}
data WitnessSet
  = WitnessSet'_constructor {_WitnessSet'vkeywitness :: !(Data.Vector.Vector VKeyWitness),
                             _WitnessSet'script :: !(Data.Vector.Vector Script),
                             _WitnessSet'plutusDatums :: !(Data.Vector.Vector PlutusData),
                             _WitnessSet'redeemers :: !(Data.Vector.Vector Redeemer),
                             _WitnessSet'bootstrapWitnesses :: !(Data.Vector.Vector BootstrapWitness),
                             _WitnessSet'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show WitnessSet where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField WitnessSet "vkeywitness" [VKeyWitness] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'vkeywitness
           (\ x__ y__ -> x__ {_WitnessSet'vkeywitness = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'vkeywitness" (Data.Vector.Vector VKeyWitness) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'vkeywitness
           (\ x__ y__ -> x__ {_WitnessSet'vkeywitness = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WitnessSet "script" [Script] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'script (\ x__ y__ -> x__ {_WitnessSet'script = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'script" (Data.Vector.Vector Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'script (\ x__ y__ -> x__ {_WitnessSet'script = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WitnessSet "plutusDatums" [PlutusData] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'plutusDatums
           (\ x__ y__ -> x__ {_WitnessSet'plutusDatums = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'plutusDatums" (Data.Vector.Vector PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'plutusDatums
           (\ x__ y__ -> x__ {_WitnessSet'plutusDatums = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WitnessSet "redeemers" [Redeemer] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'redeemers
           (\ x__ y__ -> x__ {_WitnessSet'redeemers = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'redeemers" (Data.Vector.Vector Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'redeemers
           (\ x__ y__ -> x__ {_WitnessSet'redeemers = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WitnessSet "bootstrapWitnesses" [BootstrapWitness] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'bootstrapWitnesses
           (\ x__ y__ -> x__ {_WitnessSet'bootstrapWitnesses = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'bootstrapWitnesses" (Data.Vector.Vector BootstrapWitness) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'bootstrapWitnesses
           (\ x__ y__ -> x__ {_WitnessSet'bootstrapWitnesses = y__}))
        Prelude.id
instance Data.ProtoLens.Message WitnessSet where
  messageName _ = Data.Text.pack "utxorpc.v1beta.cardano.WitnessSet"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \WitnessSet\DC2E\n\
      \\vvkeywitness\CAN\SOH \ETX(\v2#.utxorpc.v1beta.cardano.VKeyWitnessR\vvkeywitness\DC26\n\
      \\ACKscript\CAN\STX \ETX(\v2\RS.utxorpc.v1beta.cardano.ScriptR\ACKscript\DC2G\n\
      \\rplutus_datums\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.PlutusDataR\fplutusDatums\DC2>\n\
      \\tredeemers\CAN\EOT \ETX(\v2 .utxorpc.v1beta.cardano.RedeemerR\tredeemers\DC2X\n\
      \\DC2bootstrapWitnesses\CAN\ENQ \ETX(\v2(.utxorpc.v1beta.cardano.BootstrapWitnessR\DC2bootstrapWitnesses"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        vkeywitness__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vkeywitness"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VKeyWitness)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"vkeywitness")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
        script__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Script)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"script")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
        plutusDatums__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_datums"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"plutusDatums")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
        redeemers__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemers"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"redeemers")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
        bootstrapWitnesses__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "bootstrapWitnesses"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BootstrapWitness)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"bootstrapWitnesses")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, vkeywitness__field_descriptor),
           (Data.ProtoLens.Tag 2, script__field_descriptor),
           (Data.ProtoLens.Tag 3, plutusDatums__field_descriptor),
           (Data.ProtoLens.Tag 4, redeemers__field_descriptor),
           (Data.ProtoLens.Tag 5, bootstrapWitnesses__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _WitnessSet'_unknownFields
        (\ x__ y__ -> x__ {_WitnessSet'_unknownFields = y__})
  defMessage
    = WitnessSet'_constructor
        {_WitnessSet'vkeywitness = Data.Vector.Generic.empty,
         _WitnessSet'script = Data.Vector.Generic.empty,
         _WitnessSet'plutusDatums = Data.Vector.Generic.empty,
         _WitnessSet'redeemers = Data.Vector.Generic.empty,
         _WitnessSet'bootstrapWitnesses = Data.Vector.Generic.empty,
         _WitnessSet'_unknownFields = []}
  parseMessage
    = let
        loop ::
          WitnessSet
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld BootstrapWitness
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusData
                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Redeemer
                   -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Script
                      -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld VKeyWitness
                         -> Data.ProtoLens.Encoding.Bytes.Parser WitnessSet
        loop
          x
          mutable'bootstrapWitnesses
          mutable'plutusDatums
          mutable'redeemers
          mutable'script
          mutable'vkeywitness
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'bootstrapWitnesses <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                        mutable'bootstrapWitnesses)
                      frozen'plutusDatums <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                  mutable'plutusDatums)
                      frozen'redeemers <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                               mutable'redeemers)
                      frozen'script <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'script)
                      frozen'vkeywitness <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                 mutable'vkeywitness)
                      (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)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'bootstrapWitnesses")
                              frozen'bootstrapWitnesses
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'plutusDatums")
                                 frozen'plutusDatums
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"vec'redeemers") frozen'redeemers
                                    (Lens.Family2.set
                                       (Data.ProtoLens.Field.field @"vec'script") frozen'script
                                       (Lens.Family2.set
                                          (Data.ProtoLens.Field.field @"vec'vkeywitness")
                                          frozen'vkeywitness x))))))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "vkeywitness"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'vkeywitness y)
                                loop
                                  x mutable'bootstrapWitnesses mutable'plutusDatums
                                  mutable'redeemers mutable'script v
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "script"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'script y)
                                loop
                                  x mutable'bootstrapWitnesses mutable'plutusDatums
                                  mutable'redeemers v mutable'vkeywitness
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "plutus_datums"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'plutusDatums y)
                                loop
                                  x mutable'bootstrapWitnesses v mutable'redeemers mutable'script
                                  mutable'vkeywitness
                        34
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "redeemers"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'redeemers y)
                                loop
                                  x mutable'bootstrapWitnesses mutable'plutusDatums v mutable'script
                                  mutable'vkeywitness
                        42
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "bootstrapWitnesses"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'bootstrapWitnesses y)
                                loop
                                  x v mutable'plutusDatums mutable'redeemers mutable'script
                                  mutable'vkeywitness
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'bootstrapWitnesses mutable'plutusDatums mutable'redeemers
                                  mutable'script mutable'vkeywitness
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'bootstrapWitnesses <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              Data.ProtoLens.Encoding.Growing.new
              mutable'plutusDatums <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        Data.ProtoLens.Encoding.Growing.new
              mutable'redeemers <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     Data.ProtoLens.Encoding.Growing.new
              mutable'script <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              mutable'vkeywitness <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'bootstrapWitnesses
                mutable'plutusDatums mutable'redeemers mutable'script
                mutable'vkeywitness)
          "WitnessSet"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'vkeywitness") _x))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'script") _x))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view
                         (Data.ProtoLens.Field.field @"vec'plutusDatums") _x))
                   ((Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                         (\ _v
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                 ((Prelude..)
                                    (\ bs
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                    Data.ProtoLens.encodeMessage _v))
                         (Lens.Family2.view
                            (Data.ProtoLens.Field.field @"vec'redeemers") _x))
                      ((Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                            (\ _v
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                    ((Prelude..)
                                       (\ bs
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                  (Prelude.fromIntegral
                                                     (Data.ByteString.length bs)))
                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                       Data.ProtoLens.encodeMessage _v))
                            (Lens.Family2.view
                               (Data.ProtoLens.Field.field @"vec'bootstrapWitnesses") _x))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData WitnessSet where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_WitnessSet'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_WitnessSet'vkeywitness x__)
                (Control.DeepSeq.deepseq
                   (_WitnessSet'script x__)
                   (Control.DeepSeq.deepseq
                      (_WitnessSet'plutusDatums x__)
                      (Control.DeepSeq.deepseq
                         (_WitnessSet'redeemers x__)
                         (Control.DeepSeq.deepseq
                            (_WitnessSet'bootstrapWitnesses x__) ())))))
packedFileDescriptor :: Data.ByteString.ByteString
packedFileDescriptor
  = "\n\
    \$utxorpc/v1beta/cardano/cardano.proto\DC2\SYNutxorpc.v1beta.cardano\"\130\STX\n\
    \\bRedeemer\DC2A\n\
    \\apurpose\CAN\SOH \SOH(\SO2'.utxorpc.v1beta.cardano.RedeemerPurposeR\apurpose\DC2<\n\
    \\apayload\CAN\STX \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataR\apayload\DC2\DC4\n\
    \\ENQindex\CAN\ETX \SOH(\rR\ENQindex\DC2:\n\
    \\bex_units\CAN\EOT \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\aexUnits\DC2#\n\
    \\roriginal_cbor\CAN\ENQ \SOH(\fR\foriginalCbor\"\212\SOH\n\
    \\aTxInput\DC2\ETB\n\
    \\atx_hash\CAN\SOH \SOH(\fR\ACKtxHash\DC2!\n\
    \\foutput_index\CAN\STX \SOH(\rR\voutputIndex\DC2=\n\
    \\tas_output\CAN\ETX \SOH(\v2 .utxorpc.v1beta.cardano.TxOutputR\basOutput\DC2A\n\
    \\bredeemer\CAN\EOT \SOH(\v2 .utxorpc.v1beta.cardano.RedeemerH\NULR\bredeemer\136\SOH\SOHB\v\n\
    \\t_redeemer\"\160\STX\n\
    \\bTxOutput\DC2\CAN\n\
    \\aaddress\CAN\SOH \SOH(\fR\aaddress\DC22\n\
    \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\DC2:\n\
    \\ACKassets\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.MultiassetR\ACKassets\DC28\n\
    \\ENQdatum\CAN\EOT \SOH(\v2\GS.utxorpc.v1beta.cardano.DatumH\NULR\ENQdatum\136\SOH\SOH\DC2;\n\
    \\ACKscript\CAN\ENQ \SOH(\v2\RS.utxorpc.v1beta.cardano.ScriptH\SOHR\ACKscript\136\SOH\SOHB\b\n\
    \\ACK_datumB\t\n\
    \\a_script\"\166\SOH\n\
    \\ENQDatum\DC2\DC2\n\
    \\EOThash\CAN\SOH \SOH(\fR\EOThash\DC2A\n\
    \\apayload\CAN\STX \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataH\NULR\apayload\136\SOH\SOH\DC2(\n\
    \\roriginal_cbor\CAN\ETX \SOH(\fH\SOHR\foriginalCbor\136\SOH\SOHB\n\
    \\n\
    \\b_payloadB\DLE\n\
    \\SO_original_cbor\"W\n\
    \\ENQAsset\DC2\DC2\n\
    \\EOTname\CAN\SOH \SOH(\fR\EOTname\DC2:\n\
    \\bquantity\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\bquantity\"`\n\
    \\n\
    \Multiasset\DC2\ESC\n\
    \\tpolicy_id\CAN\SOH \SOH(\fR\bpolicyId\DC25\n\
    \\ACKassets\CAN\STX \ETX(\v2\GS.utxorpc.v1beta.cardano.AssetR\ACKassets\"4\n\
    \\n\
    \TxValidity\DC2\DC4\n\
    \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\
    \\ETXttl\CAN\STX \SOH(\EOTR\ETXttl\"\231\SOH\n\
    \\n\
    \Collateral\DC2?\n\
    \\n\
    \collateral\CAN\SOH \ETX(\v2\US.utxorpc.v1beta.cardano.TxInputR\n\
    \collateral\DC2M\n\
    \\DC1collateral_return\CAN\STX \SOH(\v2 .utxorpc.v1beta.cardano.TxOutputR\DLEcollateralReturn\DC2I\n\
    \\DLEtotal_collateral\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\SItotalCollateral\"\165\SOH\n\
    \\n\
    \Withdrawal\DC2%\n\
    \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC22\n\
    \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\DC2<\n\
    \\bredeemer\CAN\ETX \SOH(\v2 .utxorpc.v1beta.cardano.RedeemerR\bredeemer\"\238\STX\n\
    \\n\
    \WitnessSet\DC2E\n\
    \\vvkeywitness\CAN\SOH \ETX(\v2#.utxorpc.v1beta.cardano.VKeyWitnessR\vvkeywitness\DC26\n\
    \\ACKscript\CAN\STX \ETX(\v2\RS.utxorpc.v1beta.cardano.ScriptR\ACKscript\DC2G\n\
    \\rplutus_datums\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.PlutusDataR\fplutusDatums\DC2>\n\
    \\tredeemers\CAN\EOT \ETX(\v2 .utxorpc.v1beta.cardano.RedeemerR\tredeemers\DC2X\n\
    \\DC2bootstrapWitnesses\CAN\ENQ \ETX(\v2(.utxorpc.v1beta.cardano.BootstrapWitnessR\DC2bootstrapWitnesses\"\129\SOH\n\
    \\aAuxData\DC2<\n\
    \\bmetadata\CAN\SOH \ETX(\v2 .utxorpc.v1beta.cardano.MetadataR\bmetadata\DC28\n\
    \\ascripts\CAN\STX \ETX(\v2\RS.utxorpc.v1beta.cardano.ScriptR\ascripts\"\199\ACK\n\
    \\STXTx\DC27\n\
    \\ACKinputs\CAN\SOH \ETX(\v2\US.utxorpc.v1beta.cardano.TxInputR\ACKinputs\DC2:\n\
    \\aoutputs\CAN\STX \ETX(\v2 .utxorpc.v1beta.cardano.TxOutputR\aoutputs\DC2G\n\
    \\fcertificates\CAN\ETX \ETX(\v2#.utxorpc.v1beta.cardano.CertificateR\fcertificates\DC2D\n\
    \\vwithdrawals\CAN\EOT \ETX(\v2\".utxorpc.v1beta.cardano.WithdrawalR\vwithdrawals\DC26\n\
    \\EOTmint\CAN\ENQ \ETX(\v2\".utxorpc.v1beta.cardano.MultiassetR\EOTmint\DC2J\n\
    \\DLEreference_inputs\CAN\ACK \ETX(\v2\US.utxorpc.v1beta.cardano.TxInputR\SIreferenceInputs\DC2@\n\
    \\twitnesses\CAN\a \SOH(\v2\".utxorpc.v1beta.cardano.WitnessSetR\twitnesses\DC2B\n\
    \\n\
    \collateral\CAN\b \SOH(\v2\".utxorpc.v1beta.cardano.CollateralR\n\
    \collateral\DC20\n\
    \\ETXfee\CAN\t \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ETXfee\DC2>\n\
    \\bvalidity\CAN\n\
    \ \SOH(\v2\".utxorpc.v1beta.cardano.TxValidityR\bvalidity\DC2\RS\n\
    \\n\
    \successful\CAN\v \SOH(\bR\n\
    \successful\DC2=\n\
    \\tauxiliary\CAN\f \SOH(\v2\US.utxorpc.v1beta.cardano.AuxDataR\tauxiliary\DC2\DC2\n\
    \\EOThash\CAN\r \SOH(\fR\EOThash\DC2N\n\
    \\tproposals\CAN\SO \ETX(\v20.utxorpc.v1beta.cardano.GovernanceActionProposalR\tproposals\"\252\SOH\n\
    \\CANGovernanceActionProposal\DC28\n\
    \\adeposit\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\adeposit\DC2%\n\
    \\SOreward_account\CAN\STX \SOH(\fR\rrewardAccount\DC2G\n\
    \\n\
    \gov_action\CAN\ETX \SOH(\v2(.utxorpc.v1beta.cardano.GovernanceActionR\tgovAction\DC26\n\
    \\ACKanchor\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor\"\241\ENQ\n\
    \\DLEGovernanceAction\DC2g\n\
    \\ETBparameter_change_action\CAN\SOH \SOH(\v2-.utxorpc.v1beta.cardano.ParameterChangeActionH\NULR\NAKparameterChangeAction\DC2q\n\
    \\ESChard_fork_initiation_action\CAN\STX \SOH(\v20.utxorpc.v1beta.cardano.HardForkInitiationActionH\NULR\CANhardForkInitiationAction\DC2s\n\
    \\ESCtreasury_withdrawals_action\CAN\ETX \SOH(\v21.utxorpc.v1beta.cardano.TreasuryWithdrawalsActionH\NULR\EMtreasuryWithdrawalsAction\DC2^\n\
    \\DC4no_confidence_action\CAN\EOT \SOH(\v2*.utxorpc.v1beta.cardano.NoConfidenceActionH\NULR\DC2noConfidenceAction\DC2g\n\
    \\ETBupdate_committee_action\CAN\ENQ \SOH(\v2-.utxorpc.v1beta.cardano.UpdateCommitteeActionH\NULR\NAKupdateCommitteeAction\DC2g\n\
    \\ETBnew_constitution_action\CAN\ACK \SOH(\v2-.utxorpc.v1beta.cardano.NewConstitutionActionH\NULR\NAKnewConstitutionAction\DC2E\n\
    \\vinfo_action\CAN\a \SOH(\v2\".utxorpc.v1beta.cardano.InfoActionH\NULR\n\
    \infoActionB\DC3\n\
    \\DC1governance_action\"s\n\
    \\DC2GovernanceActionId\DC2%\n\
    \\SOtransaction_id\CAN\SOH \SOH(\fR\rtransactionId\DC26\n\
    \\ETBgovernance_action_index\CAN\STX \SOH(\rR\NAKgovernanceActionIndex\"\221\SOH\n\
    \\NAKParameterChangeAction\DC2N\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2S\n\
    \\NAKprotocol_param_update\CAN\STX \SOH(\v2\US.utxorpc.v1beta.cardano.PParamsR\DC3protocolParamUpdate\DC2\US\n\
    \\vpolicy_hash\CAN\ETX \SOH(\fR\n\
    \policyHash\"\190\SOH\n\
    \\CANHardForkInitiationAction\DC2N\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2R\n\
    \\DLEprotocol_version\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.ProtocolVersionR\SIprotocolVersion\"\136\SOH\n\
    \\EMTreasuryWithdrawalsAction\DC2J\n\
    \\vwithdrawals\CAN\SOH \ETX(\v2(.utxorpc.v1beta.cardano.WithdrawalAmountR\vwithdrawals\DC2\US\n\
    \\vpolicy_hash\CAN\STX \SOH(\fR\n\
    \policyHash\"m\n\
    \\DLEWithdrawalAmount\DC2%\n\
    \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC22\n\
    \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\"d\n\
    \\DC2NoConfidenceAction\DC2N\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\"\159\ETX\n\
    \\NAKUpdateCommitteeAction\DC2N\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2i\n\
    \\FSremove_committee_credentials\CAN\STX \ETX(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SUBremoveCommitteeCredentials\DC2k\n\
    \\EMnew_committee_credentials\CAN\ETX \ETX(\v2/.utxorpc.v1beta.cardano.NewCommitteeCredentialsR\ETBnewCommitteeCredentials\DC2^\n\
    \\ETBnew_committee_threshold\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\NAKnewCommitteeThreshold\"\177\SOH\n\
    \\NAKNewConstitutionAction\DC2N\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2*.utxorpc.v1beta.cardano.GovernanceActionIdR\vgovActionId\DC2H\n\
    \\fconstitution\CAN\STX \SOH(\v2$.utxorpc.v1beta.cardano.ConstitutionR\fconstitution\"\f\n\
    \\n\
    \InfoAction\"Z\n\
    \\fConstitution\DC26\n\
    \\ACKanchor\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor\DC2\DC2\n\
    \\EOThash\CAN\STX \SOH(\fR\EOThash\"\163\SOH\n\
    \\ETBNewCommitteeCredentials\DC2c\n\
    \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2#\n\
    \\rexpires_epoch\CAN\STX \SOH(\rR\fexpiresEpoch\"M\n\
    \\vBlockHeader\DC2\DC2\n\
    \\EOTslot\CAN\SOH \SOH(\EOTR\EOTslot\DC2\DC2\n\
    \\EOThash\CAN\STX \SOH(\fR\EOThash\DC2\SYN\n\
    \\ACKheight\CAN\ETX \SOH(\EOTR\ACKheight\"7\n\
    \\tBlockBody\DC2*\n\
    \\STXtx\CAN\SOH \ETX(\v2\SUB.utxorpc.v1beta.cardano.TxR\STXtx\"\153\SOH\n\
    \\ENQBlock\DC2;\n\
    \\ACKheader\CAN\SOH \SOH(\v2#.utxorpc.v1beta.cardano.BlockHeaderR\ACKheader\DC25\n\
    \\EOTbody\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.BlockBodyR\EOTbody\DC2\FS\n\
    \\ttimestamp\CAN\ETX \SOH(\EOTR\ttimestamp\"\131\SOH\n\
    \\DLEBootstrapWitness\DC2\DC2\n\
    \\EOTvkey\CAN\SOH \SOH(\fR\EOTvkey\DC2\FS\n\
    \\tsignature\CAN\STX \SOH(\fR\tsignature\DC2\GS\n\
    \\n\
    \chain_code\CAN\ETX \SOH(\fR\tchainCode\DC2\RS\n\
    \\n\
    \attributes\CAN\EOT \SOH(\fR\n\
    \attributes\"?\n\
    \\vVKeyWitness\DC2\DC2\n\
    \\EOTvkey\CAN\SOH \SOH(\fR\EOTvkey\DC2\FS\n\
    \\tsignature\CAN\STX \SOH(\fR\tsignature\"\134\ETX\n\
    \\fNativeScript\DC2.\n\
    \\DC2script_pubkey_hash\CAN\SOH \SOH(\fH\NULR\DLEscriptPubkeyHash\DC2I\n\
    \\n\
    \script_all\CAN\STX \SOH(\v2(.utxorpc.v1beta.cardano.NativeScriptListH\NULR\tscriptAll\DC2I\n\
    \\n\
    \script_any\CAN\ETX \SOH(\v2(.utxorpc.v1beta.cardano.NativeScriptListH\NULR\tscriptAny\DC2G\n\
    \\rscript_n_of_k\CAN\EOT \SOH(\v2\".utxorpc.v1beta.cardano.ScriptNOfKH\NULR\n\
    \scriptNOfK\DC2'\n\
    \\SOinvalid_before\CAN\ENQ \SOH(\EOTH\NULR\rinvalidBefore\DC2-\n\
    \\DC1invalid_hereafter\CAN\ACK \SOH(\EOTH\NULR\DLEinvalidHereafterB\SI\n\
    \\rnative_script\"N\n\
    \\DLENativeScriptList\DC2:\n\
    \\ENQitems\CAN\SOH \ETX(\v2$.utxorpc.v1beta.cardano.NativeScriptR\ENQitems\"Z\n\
    \\n\
    \ScriptNOfK\DC2\f\n\
    \\SOHk\CAN\SOH \SOH(\rR\SOHk\DC2>\n\
    \\ascripts\CAN\STX \ETX(\v2$.utxorpc.v1beta.cardano.NativeScriptR\ascripts\"\DEL\n\
    \\ACKConstr\DC2\DLE\n\
    \\ETXtag\CAN\SOH \SOH(\rR\ETXtag\DC2'\n\
    \\SIany_constructor\CAN\STX \SOH(\EOTR\SOanyConstructor\DC2:\n\
    \\ACKfields\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ACKfields\"c\n\
    \\ACKBigInt\DC2\DC2\n\
    \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\FS\n\
    \\tbig_u_int\CAN\STX \SOH(\fH\NULR\abigUInt\DC2\FS\n\
    \\tbig_n_int\CAN\ETX \SOH(\fH\NULR\abigNIntB\t\n\
    \\abig_int\"\128\SOH\n\
    \\SOPlutusDataPair\DC24\n\
    \\ETXkey\CAN\SOH \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ETXkey\DC28\n\
    \\ENQvalue\CAN\STX \SOH(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ENQvalue\"\179\STX\n\
    \\n\
    \PlutusData\DC28\n\
    \\ACKconstr\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.ConstrH\NULR\ACKconstr\DC29\n\
    \\ETXmap\CAN\ETX \SOH(\v2%.utxorpc.v1beta.cardano.PlutusDataMapH\NULR\ETXmap\DC29\n\
    \\abig_int\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntH\NULR\ACKbigInt\DC2%\n\
    \\rbounded_bytes\CAN\ENQ \SOH(\fH\NULR\fboundedBytes\DC2?\n\
    \\ENQarray\CAN\ACK \SOH(\v2'.utxorpc.v1beta.cardano.PlutusDataArrayH\NULR\ENQarrayB\r\n\
    \\vplutus_data\"M\n\
    \\rPlutusDataMap\DC2<\n\
    \\ENQpairs\CAN\SOH \ETX(\v2&.utxorpc.v1beta.cardano.PlutusDataPairR\ENQpairs\"K\n\
    \\SIPlutusDataArray\DC28\n\
    \\ENQitems\CAN\SOH \ETX(\v2\".utxorpc.v1beta.cardano.PlutusDataR\ENQitems\"\206\SOH\n\
    \\ACKScript\DC2>\n\
    \\ACKnative\CAN\SOH \SOH(\v2$.utxorpc.v1beta.cardano.NativeScriptH\NULR\ACKnative\DC2\GS\n\
    \\tplutus_v1\CAN\STX \SOH(\fH\NULR\bplutusV1\DC2\GS\n\
    \\tplutus_v2\CAN\ETX \SOH(\fH\NULR\bplutusV2\DC2\GS\n\
    \\tplutus_v3\CAN\EOT \SOH(\fH\NULR\bplutusV3\DC2\GS\n\
    \\tplutus_v4\CAN\ENQ \SOH(\fH\NULR\bplutusV4B\b\n\
    \\ACKscript\"\212\SOH\n\
    \\tMetadatum\DC2\DC2\n\
    \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\SYN\n\
    \\ENQbytes\CAN\STX \SOH(\fH\NULR\ENQbytes\DC2\DC4\n\
    \\EOTtext\CAN\ETX \SOH(\tH\NULR\EOTtext\DC2>\n\
    \\ENQarray\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.MetadatumArrayH\NULR\ENQarray\DC28\n\
    \\ETXmap\CAN\ENQ \SOH(\v2$.utxorpc.v1beta.cardano.MetadatumMapH\NULR\ETXmapB\v\n\
    \\tmetadatum\"I\n\
    \\SOMetadatumArray\DC27\n\
    \\ENQitems\CAN\SOH \ETX(\v2!.utxorpc.v1beta.cardano.MetadatumR\ENQitems\"K\n\
    \\fMetadatumMap\DC2;\n\
    \\ENQpairs\CAN\SOH \ETX(\v2%.utxorpc.v1beta.cardano.MetadatumPairR\ENQpairs\"}\n\
    \\rMetadatumPair\DC23\n\
    \\ETXkey\CAN\SOH \SOH(\v2!.utxorpc.v1beta.cardano.MetadatumR\ETXkey\DC27\n\
    \\ENQvalue\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.MetadatumR\ENQvalue\"Y\n\
    \\bMetadata\DC2\DC4\n\
    \\ENQlabel\CAN\SOH \SOH(\EOTR\ENQlabel\DC27\n\
    \\ENQvalue\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.MetadatumR\ENQvalue\"n\n\
    \\SIStakeCredential\DC2$\n\
    \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
    \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
    \scriptHashB\DC2\n\
    \\DLEstake_credential\"P\n\
    \\SORationalNumber\DC2\FS\n\
    \\tnumerator\CAN\SOH \SOH(\ENQR\tnumerator\DC2 \n\
    \\vdenominator\CAN\STX \SOH(\rR\vdenominator\"`\n\
    \\ENQRelay\DC2\DC3\n\
    \\ENQip_v4\CAN\SOH \SOH(\fR\EOTipV4\DC2\DC3\n\
    \\ENQip_v6\CAN\STX \SOH(\fR\EOTipV6\DC2\EM\n\
    \\bdns_name\CAN\ETX \SOH(\tR\adnsName\DC2\DC2\n\
    \\EOTport\CAN\EOT \SOH(\rR\EOTport\"4\n\
    \\fPoolMetadata\DC2\DLE\n\
    \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2\DC2\n\
    \\EOThash\CAN\STX \SOH(\fR\EOThash\"\231\r\n\
    \\vCertificate\DC2X\n\
    \\DC2stake_registration\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC1stakeRegistration\DC2\\\n\
    \\DC4stake_deregistration\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC3stakeDeregistration\DC2X\n\
    \\DLEstake_delegation\CAN\ETX \SOH(\v2+.utxorpc.v1beta.cardano.StakeDelegationCertH\NULR\SIstakeDelegation\DC2[\n\
    \\DC1pool_registration\CAN\EOT \SOH(\v2,.utxorpc.v1beta.cardano.PoolRegistrationCertH\NULR\DLEpoolRegistration\DC2U\n\
    \\SIpool_retirement\CAN\ENQ \SOH(\v2*.utxorpc.v1beta.cardano.PoolRetirementCertH\NULR\SOpoolRetirement\DC2h\n\
    \\SYNgenesis_key_delegation\CAN\ACK \SOH(\v20.utxorpc.v1beta.cardano.GenesisKeyDelegationCertH\NULR\DC4genesisKeyDelegation\DC2<\n\
    \\bmir_cert\CAN\a \SOH(\v2\US.utxorpc.v1beta.cardano.MirCertH\NULR\amirCert\DC2<\n\
    \\breg_cert\CAN\b \SOH(\v2\US.utxorpc.v1beta.cardano.RegCertH\NULR\aregCert\DC2B\n\
    \\n\
    \unreg_cert\CAN\t \SOH(\v2!.utxorpc.v1beta.cardano.UnRegCertH\NULR\tunregCert\DC2O\n\
    \\SIvote_deleg_cert\CAN\n\
    \ \SOH(\v2%.utxorpc.v1beta.cardano.VoteDelegCertH\NULR\rvoteDelegCert\DC2_\n\
    \\NAKstake_vote_deleg_cert\CAN\v \SOH(\v2*.utxorpc.v1beta.cardano.StakeVoteDelegCertH\NULR\DC2stakeVoteDelegCert\DC2\\\n\
    \\DC4stake_reg_deleg_cert\CAN\f \SOH(\v2).utxorpc.v1beta.cardano.StakeRegDelegCertH\NULR\DC1stakeRegDelegCert\DC2Y\n\
    \\DC3vote_reg_deleg_cert\CAN\r \SOH(\v2(.utxorpc.v1beta.cardano.VoteRegDelegCertH\NULR\DLEvoteRegDelegCert\DC2i\n\
    \\EMstake_vote_reg_deleg_cert\CAN\SO \SOH(\v2-.utxorpc.v1beta.cardano.StakeVoteRegDelegCertH\NULR\NAKstakeVoteRegDelegCert\DC2e\n\
    \\ETBauth_committee_hot_cert\CAN\SI \SOH(\v2,.utxorpc.v1beta.cardano.AuthCommitteeHotCertH\NULR\DC4authCommitteeHotCert\DC2n\n\
    \\SUBresign_committee_cold_cert\CAN\DLE \SOH(\v2/.utxorpc.v1beta.cardano.ResignCommitteeColdCertH\NULR\ETBresignCommitteeColdCert\DC2I\n\
    \\rreg_drep_cert\CAN\DC1 \SOH(\v2#.utxorpc.v1beta.cardano.RegDRepCertH\NULR\vregDrepCert\DC2O\n\
    \\SIunreg_drep_cert\CAN\DC2 \SOH(\v2%.utxorpc.v1beta.cardano.UnRegDRepCertH\NULR\runregDrepCert\DC2R\n\
    \\DLEupdate_drep_cert\CAN\DC3 \SOH(\v2&.utxorpc.v1beta.cardano.UpdateDRepCertH\NULR\SOupdateDrepCert\DC2<\n\
    \\bredeemer\CANd \SOH(\v2 .utxorpc.v1beta.cardano.RedeemerR\bredeemerB\r\n\
    \\vcertificate\"\140\SOH\n\
    \\DC3StakeDelegationCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\"\201\ETX\n\
    \\DC4PoolRegistrationCert\DC2\SUB\n\
    \\boperator\CAN\SOH \SOH(\fR\boperator\DC2\US\n\
    \\vvrf_keyhash\CAN\STX \SOH(\fR\n\
    \vrfKeyhash\DC26\n\
    \\ACKpledge\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ACKpledge\DC22\n\
    \\EOTcost\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcost\DC2>\n\
    \\ACKmargin\CAN\ENQ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\ACKmargin\DC2%\n\
    \\SOreward_account\CAN\ACK \SOH(\fR\rrewardAccount\DC2\US\n\
    \\vpool_owners\CAN\a \ETX(\fR\n\
    \poolOwners\DC25\n\
    \\ACKrelays\CAN\b \ETX(\v2\GS.utxorpc.v1beta.cardano.RelayR\ACKrelays\DC2I\n\
    \\rpool_metadata\CAN\t \SOH(\v2$.utxorpc.v1beta.cardano.PoolMetadataR\fpoolMetadata\"M\n\
    \\DC2PoolRetirementCert\DC2!\n\
    \\fpool_keyhash\CAN\SOH \SOH(\fR\vpoolKeyhash\DC2\DC4\n\
    \\ENQepoch\CAN\STX \SOH(\EOTR\ENQepoch\"\146\SOH\n\
    \\CANGenesisKeyDelegationCert\DC2!\n\
    \\fgenesis_hash\CAN\SOH \SOH(\fR\vgenesisHash\DC22\n\
    \\NAKgenesis_delegate_hash\CAN\STX \SOH(\fR\DC3genesisDelegateHash\DC2\US\n\
    \\vvrf_keyhash\CAN\ETX \SOH(\fR\n\
    \vrfKeyhash\"\158\SOH\n\
    \\tMirTarget\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2=\n\
    \\n\
    \delta_coin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\tdeltaCoin\"\144\SOH\n\
    \\aMirCert\DC25\n\
    \\EOTfrom\CAN\SOH \SOH(\SO2!.utxorpc.v1beta.cardano.MirSourceR\EOTfrom\DC21\n\
    \\STXto\CAN\STX \ETX(\v2!.utxorpc.v1beta.cardano.MirTargetR\STXto\DC2\ESC\n\
    \\tother_pot\CAN\ETX \SOH(\EOTR\botherPot\"\145\SOH\n\
    \\aRegCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC22\n\
    \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\"\147\SOH\n\
    \\tUnRegCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC22\n\
    \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\"\154\SOH\n\
    \\EOTDRep\DC2$\n\
    \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
    \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
    \scriptHash\DC2\SUB\n\
    \\aabstain\CAN\ETX \SOH(\bH\NULR\aabstain\DC2%\n\
    \\rno_confidence\CAN\EOT \SOH(\bH\NULR\fnoConfidenceB\ACK\n\
    \\EOTdrep\"\149\SOH\n\
    \\rVoteDelegCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC20\n\
    \\EOTdrep\CAN\STX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep\"\189\SOH\n\
    \\DC2StakeVoteDelegCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC20\n\
    \\EOTdrep\CAN\ETX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep\"\190\SOH\n\
    \\DC1StakeRegDelegCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC22\n\
    \\EOTcoin\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\"\204\SOH\n\
    \\DLEVoteRegDelegCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC20\n\
    \\EOTdrep\CAN\STX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep\DC22\n\
    \\EOTcoin\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\"\244\SOH\n\
    \\NAKStakeVoteRegDelegCert\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC20\n\
    \\EOTdrep\CAN\ETX \SOH(\v2\FS.utxorpc.v1beta.cardano.DRepR\EOTdrep\DC22\n\
    \\EOTcoin\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\"\222\SOH\n\
    \\DC4AuthCommitteeHotCert\DC2c\n\
    \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2a\n\
    \\CANcommittee_hot_credential\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SYNcommitteeHotCredential\"=\n\
    \\ACKAnchor\DC2\DLE\n\
    \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2!\n\
    \\fcontent_hash\CAN\STX \SOH(\fR\vcontentHash\"\182\SOH\n\
    \\ETBResignCommitteeColdCert\DC2c\n\
    \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC26\n\
    \\ACKanchor\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor\"\203\SOH\n\
    \\vRegDRepCert\DC2P\n\
    \\SIdrep_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SOdrepCredential\DC22\n\
    \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\DC26\n\
    \\ACKanchor\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor\"\149\SOH\n\
    \\rUnRegDRepCert\DC2P\n\
    \\SIdrep_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SOdrepCredential\DC22\n\
    \\EOTcoin\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\EOTcoin\"\154\SOH\n\
    \\SOUpdateDRepCert\DC2P\n\
    \\SIdrep_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SOdrepCredential\DC26\n\
    \\ACKanchor\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.AnchorR\ACKanchor\"\199\SOH\n\
    \\SOAddressPattern\DC2(\n\
    \\rexact_address\CAN\SOH \SOH(\fH\NULR\fexactAddress\136\SOH\SOH\DC2&\n\
    \\fpayment_part\CAN\STX \SOH(\fH\SOHR\vpaymentPart\136\SOH\SOH\DC2,\n\
    \\SIdelegation_part\CAN\ETX \SOH(\fH\STXR\SOdelegationPart\136\SOH\SOHB\DLE\n\
    \\SO_exact_addressB\SI\n\
    \\r_payment_partB\DC2\n\
    \\DLE_delegation_part\"q\n\
    \\fAssetPattern\DC2 \n\
    \\tpolicy_id\CAN\SOH \SOH(\fH\NULR\bpolicyId\136\SOH\SOH\DC2\"\n\
    \\n\
    \asset_name\CAN\STX \SOH(\fH\SOHR\tassetName\136\SOH\SOHB\f\n\
    \\n\
    \_policy_idB\r\n\
    \\v_asset_name\"\244\EOT\n\
    \\DC2CertificatePattern\DC2X\n\
    \\DC2stake_registration\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC1stakeRegistration\DC2\\\n\
    \\DC4stake_deregistration\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialH\NULR\DC3stakeDeregistration\DC2[\n\
    \\DLEstake_delegation\CAN\ETX \SOH(\v2..utxorpc.v1beta.cardano.StakeDelegationPatternH\NULR\SIstakeDelegation\DC2^\n\
    \\DC1pool_registration\CAN\EOT \SOH(\v2/.utxorpc.v1beta.cardano.PoolRegistrationPatternH\NULR\DLEpoolRegistration\DC2X\n\
    \\SIpool_retirement\CAN\ENQ \SOH(\v2-.utxorpc.v1beta.cardano.PoolRetirementPatternH\NULR\SOpoolRetirement\DC22\n\
    \\DC4any_stake_credential\CAN\ACK \SOH(\fH\NULR\DC2anyStakeCredential\DC2*\n\
    \\DLEany_pool_keyhash\CAN\a \SOH(\fH\NULR\SOanyPoolKeyhash\DC2\ESC\n\
    \\bany_drep\CAN\b \SOH(\fH\NULR\aanyDrepB\DC2\n\
    \\DLEcertificate_type\"\143\SOH\n\
    \\SYNStakeDelegationPattern\DC2R\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\"X\n\
    \\ETBPoolRegistrationPattern\DC2\SUB\n\
    \\boperator\CAN\SOH \SOH(\fR\boperator\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\"P\n\
    \\NAKPoolRetirementPattern\DC2!\n\
    \\fpool_keyhash\CAN\SOH \SOH(\fR\vpoolKeyhash\DC2\DC4\n\
    \\ENQepoch\CAN\STX \SOH(\EOTR\ENQepoch\"\175\SOH\n\
    \\SITxOutputPattern\DC2E\n\
    \\aaddress\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.AddressPatternH\NULR\aaddress\136\SOH\SOH\DC2?\n\
    \\ENQasset\CAN\STX \SOH(\v2$.utxorpc.v1beta.cardano.AssetPatternH\SOHR\ENQasset\136\SOH\SOHB\n\
    \\n\
    \\b_addressB\b\n\
    \\ACK_asset\"\193\ETX\n\
    \\tTxPattern\DC2C\n\
    \\bconsumes\CAN\SOH \SOH(\v2'.utxorpc.v1beta.cardano.TxOutputPatternR\bconsumes\DC2C\n\
    \\bproduces\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.TxOutputPatternR\bproduces\DC2G\n\
    \\vhas_address\CAN\ETX \SOH(\v2&.utxorpc.v1beta.cardano.AddressPatternR\n\
    \hasAddress\DC2E\n\
    \\vmoves_asset\CAN\EOT \SOH(\v2$.utxorpc.v1beta.cardano.AssetPatternR\n\
    \movesAsset\DC2E\n\
    \\vmints_asset\CAN\ENQ \SOH(\v2$.utxorpc.v1beta.cardano.AssetPatternR\n\
    \mintsAsset\DC2S\n\
    \\SIhas_certificate\CAN\ACK \SOH(\v2*.utxorpc.v1beta.cardano.CertificatePatternR\SOhasCertificate\"7\n\
    \\aExUnits\DC2\DC4\n\
    \\ENQsteps\CAN\SOH \SOH(\EOTR\ENQsteps\DC2\SYN\n\
    \\ACKmemory\CAN\STX \SOH(\EOTR\ACKmemory\"\136\SOH\n\
    \\bExPrices\DC2<\n\
    \\ENQsteps\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\ENQsteps\DC2>\n\
    \\ACKmemory\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\ACKmemory\"=\n\
    \\SIProtocolVersion\DC2\DC4\n\
    \\ENQmajor\CAN\SOH \SOH(\rR\ENQmajor\DC2\DC4\n\
    \\ENQminor\CAN\STX \SOH(\rR\ENQminor\"#\n\
    \\tCostModel\DC2\SYN\n\
    \\ACKvalues\CAN\SOH \ETX(\ETXR\ACKvalues\"\140\STX\n\
    \\n\
    \CostModels\DC2>\n\
    \\tplutus_v1\CAN\SOH \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV1\DC2>\n\
    \\tplutus_v2\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV2\DC2>\n\
    \\tplutus_v3\CAN\ETX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV3\DC2>\n\
    \\tplutus_v4\CAN\EOT \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV4\"Z\n\
    \\DLEVotingThresholds\DC2F\n\
    \\n\
    \thresholds\CAN\SOH \ETX(\v2&.utxorpc.v1beta.cardano.RationalNumberR\n\
    \thresholds\"\156\DC1\n\
    \\aPParams\DC2M\n\
    \\DC3coins_per_utxo_byte\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DLEcoinsPerUtxoByte\DC2\RS\n\
    \\vmax_tx_size\CAN\STX \SOH(\EOTR\tmaxTxSize\DC2N\n\
    \\DC3min_fee_coefficient\CAN\ETX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DC1minFeeCoefficient\DC2H\n\
    \\DLEmin_fee_constant\CAN\EOT \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\SOminFeeConstant\DC2-\n\
    \\DC3max_block_body_size\CAN\ENQ \SOH(\EOTR\DLEmaxBlockBodySize\DC21\n\
    \\NAKmax_block_header_size\CAN\ACK \SOH(\EOTR\DC2maxBlockHeaderSize\DC2J\n\
    \\DC1stake_key_deposit\CAN\a \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\SIstakeKeyDeposit\DC2A\n\
    \\fpool_deposit\CAN\b \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vpoolDeposit\DC2=\n\
    \\ESCpool_retirement_epoch_bound\CAN\t \SOH(\EOTR\CANpoolRetirementEpochBound\DC25\n\
    \\ETBdesired_number_of_pools\CAN\n\
    \ \SOH(\EOTR\DC4desiredNumberOfPools\DC2M\n\
    \\SOpool_influence\CAN\v \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\rpoolInfluence\DC2U\n\
    \\DC2monetary_expansion\CAN\f \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC1monetaryExpansion\DC2U\n\
    \\DC2treasury_expansion\CAN\r \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC1treasuryExpansion\DC2B\n\
    \\rmin_pool_cost\CAN\SO \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vminPoolCost\DC2R\n\
    \\DLEprotocol_version\CAN\SI \SOH(\v2'.utxorpc.v1beta.cardano.ProtocolVersionR\SIprotocolVersion\DC2$\n\
    \\SOmax_value_size\CAN\DLE \SOH(\EOTR\fmaxValueSize\DC23\n\
    \\NAKcollateral_percentage\CAN\DC1 \SOH(\EOTR\DC4collateralPercentage\DC22\n\
    \\NAKmax_collateral_inputs\CAN\DC2 \SOH(\EOTR\DC3maxCollateralInputs\DC2C\n\
    \\vcost_models\CAN\DC3 \SOH(\v2\".utxorpc.v1beta.cardano.CostModelsR\n\
    \costModels\DC28\n\
    \\ACKprices\CAN\DC4 \SOH(\v2 .utxorpc.v1beta.cardano.ExPricesR\ACKprices\DC2m\n\
    \#max_execution_units_per_transaction\CAN\NAK \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\USmaxExecutionUnitsPerTransaction\DC2a\n\
    \\GSmax_execution_units_per_block\CAN\SYN \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\EMmaxExecutionUnitsPerBlock\DC2l\n\
    \ min_fee_script_ref_cost_per_byte\CAN\ETB \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SUBminFeeScriptRefCostPerByte\DC2^\n\
    \\SYNpool_voting_thresholds\CAN\CAN \SOH(\v2(.utxorpc.v1beta.cardano.VotingThresholdsR\DC4poolVotingThresholds\DC2^\n\
    \\SYNdrep_voting_thresholds\CAN\EM \SOH(\v2(.utxorpc.v1beta.cardano.VotingThresholdsR\DC4drepVotingThresholds\DC2,\n\
    \\DC2min_committee_size\CAN\SUB \SOH(\rR\DLEminCommitteeSize\DC20\n\
    \\DC4committee_term_limit\CAN\ESC \SOH(\EOTR\DC2committeeTermLimit\DC2I\n\
    \!governance_action_validity_period\CAN\FS \SOH(\EOTR\RSgovernanceActionValidityPeriod\DC2Z\n\
    \\EMgovernance_action_deposit\CAN\GS \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ETBgovernanceActionDeposit\DC2A\n\
    \\fdrep_deposit\CAN\RS \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vdrepDeposit\DC24\n\
    \\SYNdrep_inactivity_period\CAN\US \SOH(\EOTR\DC4drepInactivityPeriod\"K\n\
    \\vEraBoundary\DC2\DC2\n\
    \\EOTtime\CAN\SOH \SOH(\EOTR\EOTtime\DC2\DC2\n\
    \\EOTslot\CAN\STX \SOH(\EOTR\EOTslot\DC2\DC4\n\
    \\ENQepoch\CAN\ETX \SOH(\EOTR\ENQepoch\"\220\SOH\n\
    \\n\
    \EraSummary\DC2\DC2\n\
    \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC29\n\
    \\ENQstart\CAN\STX \SOH(\v2#.utxorpc.v1beta.cardano.EraBoundaryR\ENQstart\DC25\n\
    \\ETXend\CAN\ETX \SOH(\v2#.utxorpc.v1beta.cardano.EraBoundaryR\ETXend\DC2H\n\
    \\SIprotocol_params\CAN\EOT \SOH(\v2\US.utxorpc.v1beta.cardano.PParamsR\SOprotocolParams\"P\n\
    \\fEraSummaries\DC2@\n\
    \\tsummaries\CAN\SOH \ETX(\v2\".utxorpc.v1beta.cardano.EraSummaryR\tsummaries\"\151\SOH\n\
    \\n\
    \EvalReport\DC2\DLE\n\
    \\ETXmsg\CAN\SOH \SOH(\tR\ETXmsg\DC2F\n\
    \\apurpose\CAN\STX \SOH(\SO2'.utxorpc.v1beta.cardano.RedeemerPurposeH\NULR\apurpose\136\SOH\SOH\DC2\EM\n\
    \\ENQindex\CAN\ETX \SOH(\rH\SOHR\ENQindex\136\SOH\SOHB\n\
    \\n\
    \\b_purposeB\b\n\
    \\ACK_index\"\174\STX\n\
    \\ACKTxEval\DC20\n\
    \\ETXfee\CAN\SOH \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ETXfee\DC2:\n\
    \\bex_units\CAN\STX \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\aexUnits\DC2:\n\
    \\ACKerrors\CAN\ETX \ETX(\v2\".utxorpc.v1beta.cardano.EvalReportR\ACKerrors\DC2:\n\
    \\ACKtraces\CAN\EOT \ETX(\v2\".utxorpc.v1beta.cardano.EvalReportR\ACKtraces\DC2>\n\
    \\tredeemers\CAN\ENQ \ETX(\v2 .utxorpc.v1beta.cardano.RedeemerR\tredeemers\" \n\
    \\fExtraEntropy\DC2\DLE\n\
    \\ETXtag\CAN\SOH \SOH(\tR\ETXtag\"\248\EOT\n\
    \\DLEBlockVersionData\DC2%\n\
    \\SOscript_version\CAN\SOH \SOH(\rR\rscriptVersion\DC2#\n\
    \\rslot_duration\CAN\STX \SOH(\tR\fslotDuration\DC2$\n\
    \\SOmax_block_size\CAN\ETX \SOH(\tR\fmaxBlockSize\DC2&\n\
    \\SImax_header_size\CAN\EOT \SOH(\tR\rmaxHeaderSize\DC2\RS\n\
    \\vmax_tx_size\CAN\ENQ \SOH(\tR\tmaxTxSize\DC2*\n\
    \\DC1max_proposal_size\CAN\ACK \SOH(\tR\SImaxProposalSize\DC2\ETB\n\
    \\ampc_thd\CAN\a \SOH(\tR\ACKmpcThd\DC2\"\n\
    \\rheavy_del_thd\CAN\b \SOH(\tR\vheavyDelThd\DC2&\n\
    \\SIupdate_vote_thd\CAN\t \SOH(\tR\rupdateVoteThd\DC2.\n\
    \\DC3update_proposal_thd\CAN\n\
    \ \SOH(\tR\DC1updateProposalThd\DC2'\n\
    \\SIupdate_implicit\CAN\v \SOH(\tR\SOupdateImplicit\DC2I\n\
    \\rsoftfork_rule\CAN\f \SOH(\v2$.utxorpc.v1beta.cardano.SoftforkRuleR\fsoftforkRule\DC2G\n\
    \\rtx_fee_policy\CAN\r \SOH(\v2#.utxorpc.v1beta.cardano.TxFeePolicyR\vtxFeePolicy\DC2,\n\
    \\DC2unlock_stake_epoch\CAN\SO \SOH(\tR\DLEunlockStakeEpoch\"g\n\
    \\fSoftforkRule\DC2\EM\n\
    \\binit_thd\CAN\SOH \SOH(\tR\ainitThd\DC2\ETB\n\
    \\amin_thd\CAN\STX \SOH(\tR\ACKminThd\DC2#\n\
    \\rthd_decrement\CAN\ETX \SOH(\tR\fthdDecrement\"G\n\
    \\vTxFeePolicy\DC2\RS\n\
    \\n\
    \multiplier\CAN\SOH \SOH(\tR\n\
    \multiplier\DC2\CAN\n\
    \\asummand\CAN\STX \SOH(\tR\asummand\"\133\SOH\n\
    \\SOProtocolConsts\DC2\f\n\
    \\SOHk\CAN\SOH \SOH(\rR\SOHk\DC2%\n\
    \\SOprotocol_magic\CAN\STX \SOH(\rR\rprotocolMagic\DC2\RS\n\
    \\vvss_max_ttl\CAN\ETX \SOH(\rR\tvssMaxTtl\DC2\RS\n\
    \\vvss_min_ttl\CAN\EOT \SOH(\rR\tvssMinTtl\"y\n\
    \\SIHeavyDelegation\DC2\DC2\n\
    \\EOTcert\CAN\SOH \SOH(\tR\EOTcert\DC2\US\n\
    \\vdelegate_pk\CAN\STX \SOH(\tR\n\
    \delegatePk\DC2\ESC\n\
    \\tissuer_pk\CAN\ETX \SOH(\tR\bissuerPk\DC2\DC4\n\
    \\ENQomega\CAN\EOT \SOH(\rR\ENQomega\"\132\SOH\n\
    \\aVssCert\DC2!\n\
    \\fexpiry_epoch\CAN\SOH \SOH(\rR\vexpiryEpoch\DC2\FS\n\
    \\tsignature\CAN\STX \SOH(\tR\tsignature\DC2\US\n\
    \\vsigning_key\CAN\ETX \SOH(\tR\n\
    \signingKey\DC2\ETB\n\
    \\avss_key\CAN\EOT \SOH(\tR\ACKvssKey\"9\n\
    \\tGenDelegs\DC2\SUB\n\
    \\bdelegate\CAN\SOH \SOH(\tR\bdelegate\DC2\DLE\n\
    \\ETXvrf\CAN\STX \SOH(\tR\ETXvrf\"\209\ETX\n\
    \\DC4PoolVotingThresholds\DC2X\n\
    \\DC4motion_no_confidence\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2motionNoConfidence\DC2Q\n\
    \\DLEcommittee_normal\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIcommitteeNormal\DC2^\n\
    \\ETBcommittee_no_confidence\CAN\ETX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\NAKcommitteeNoConfidence\DC2X\n\
    \\DC4hard_fork_initiation\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2hardForkInitiation\DC2R\n\
    \\DC1pp_security_group\CAN\ENQ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIppSecurityGroup\"\250\ACK\n\
    \\DC4DRepVotingThresholds\DC2X\n\
    \\DC4motion_no_confidence\CAN\SOH \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2motionNoConfidence\DC2Q\n\
    \\DLEcommittee_normal\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIcommitteeNormal\DC2^\n\
    \\ETBcommittee_no_confidence\CAN\ETX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\NAKcommitteeNoConfidence\DC2\\\n\
    \\SYNupdate_to_constitution\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC4updateToConstitution\DC2X\n\
    \\DC4hard_fork_initiation\CAN\ENQ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2hardForkInitiation\DC2P\n\
    \\DLEpp_network_group\CAN\ACK \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SOppNetworkGroup\DC2R\n\
    \\DC1pp_economic_group\CAN\a \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SIppEconomicGroup\DC2T\n\
    \\DC2pp_technical_group\CAN\b \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DLEppTechnicalGroup\DC2H\n\
    \\fpp_gov_group\CAN\t \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\n\
    \ppGovGroup\DC2W\n\
    \\DC3treasury_withdrawal\CAN\n\
    \ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DC2treasuryWithdrawal\"\215\SOH\n\
    \\tCommittee\DC2H\n\
    \\amembers\CAN\SOH \ETX(\v2..utxorpc.v1beta.cardano.Committee.MembersEntryR\amembers\DC2D\n\
    \\tthreshold\CAN\STX \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\tthreshold\SUB:\n\
    \\fMembersEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
    \\ENQvalue\CAN\STX \SOH(\EOTR\ENQvalue:\STX8\SOH\"\142\STX\n\
    \\fCostModelMap\DC2>\n\
    \\tplutus_v1\CAN\SOH \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV1\DC2>\n\
    \\tplutus_v2\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV2\DC2>\n\
    \\tplutus_v3\CAN\ETX \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV3\DC2>\n\
    \\tplutus_v4\CAN\EOT \SOH(\v2!.utxorpc.v1beta.cardano.CostModelR\bplutusV4\"\141\SUB\n\
    \\aGenesis\DC2M\n\
    \\n\
    \avvm_distr\CAN\SOH \ETX(\v2..utxorpc.v1beta.cardano.Genesis.AvvmDistrEntryR\tavvmDistr\DC2V\n\
    \\DC2block_version_data\CAN\STX \SOH(\v2(.utxorpc.v1beta.cardano.BlockVersionDataR\DLEblockVersionData\DC2\EM\n\
    \\bfts_seed\CAN\ETX \SOH(\tR\aftsSeed\DC2O\n\
    \\SIprotocol_consts\CAN\EOT \SOH(\v2&.utxorpc.v1beta.cardano.ProtocolConstsR\SOprotocolConsts\DC2\GS\n\
    \\n\
    \start_time\CAN\ENQ \SOH(\EOTR\tstartTime\DC2b\n\
    \\DC1boot_stakeholders\CAN\ACK \ETX(\v25.utxorpc.v1beta.cardano.Genesis.BootStakeholdersEntryR\DLEbootStakeholders\DC2_\n\
    \\DLEheavy_delegation\CAN\a \ETX(\v24.utxorpc.v1beta.cardano.Genesis.HeavyDelegationEntryR\SIheavyDelegation\DC2`\n\
    \\DC1non_avvm_balances\CAN\b \ETX(\v24.utxorpc.v1beta.cardano.Genesis.NonAvvmBalancesEntryR\SInonAvvmBalances\DC2J\n\
    \\tvss_certs\CAN\t \ETX(\v2-.utxorpc.v1beta.cardano.Genesis.VssCertsEntryR\bvssCerts\DC2T\n\
    \\DC2active_slots_coeff\CAN\n\
    \ \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\DLEactiveSlotsCoeff\DC2!\n\
    \\fepoch_length\CAN\v \SOH(\rR\vepochLength\DC2M\n\
    \\n\
    \gen_delegs\CAN\f \ETX(\v2..utxorpc.v1beta.cardano.Genesis.GenDelegsEntryR\tgenDelegs\DC2V\n\
    \\rinitial_funds\CAN\r \ETX(\v21.utxorpc.v1beta.cardano.Genesis.InitialFundsEntryR\finitialFunds\DC2,\n\
    \\DC2max_kes_evolutions\CAN\SO \SOH(\rR\DLEmaxKesEvolutions\DC2N\n\
    \\DC3max_lovelace_supply\CAN\SI \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DC1maxLovelaceSupply\DC2\GS\n\
    \\n\
    \network_id\CAN\DLE \SOH(\tR\tnetworkId\DC2#\n\
    \\rnetwork_magic\CAN\DC1 \SOH(\rR\fnetworkMagic\DC2H\n\
    \\SIprotocol_params\CAN\DC2 \SOH(\v2\US.utxorpc.v1beta.cardano.PParamsR\SOprotocolParams\DC2%\n\
    \\SOsecurity_param\CAN\DC3 \SOH(\rR\rsecurityParam\DC2\US\n\
    \\vslot_length\CAN\DC4 \SOH(\rR\n\
    \slotLength\DC2/\n\
    \\DC4slots_per_kes_period\CAN\NAK \SOH(\rR\DC1slotsPerKesPeriod\DC2!\n\
    \\fsystem_start\CAN\SYN \SOH(\tR\vsystemStart\DC2#\n\
    \\rupdate_quorum\CAN\ETB \SOH(\rR\fupdateQuorum\DC2S\n\
    \\SYNlovelace_per_utxo_word\CAN\CAN \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DC3lovelacePerUtxoWord\DC2K\n\
    \\DLEexecution_prices\CAN\EM \SOH(\v2 .utxorpc.v1beta.cardano.ExPricesR\SIexecutionPrices\DC2F\n\
    \\SImax_tx_ex_units\CAN\SUB \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\fmaxTxExUnits\DC2L\n\
    \\DC2max_block_ex_units\CAN\ESC \SOH(\v2\US.utxorpc.v1beta.cardano.ExUnitsR\SImaxBlockExUnits\DC2$\n\
    \\SOmax_value_size\CAN\FS \SOH(\rR\fmaxValueSize\DC23\n\
    \\NAKcollateral_percentage\CAN\GS \SOH(\rR\DC4collateralPercentage\DC22\n\
    \\NAKmax_collateral_inputs\CAN\RS \SOH(\rR\DC3maxCollateralInputs\DC2E\n\
    \\vcost_models\CAN\US \SOH(\v2$.utxorpc.v1beta.cardano.CostModelMapR\n\
    \costModels\DC2?\n\
    \\tcommittee\CAN  \SOH(\v2!.utxorpc.v1beta.cardano.CommitteeR\tcommittee\DC2H\n\
    \\fconstitution\CAN! \SOH(\v2$.utxorpc.v1beta.cardano.ConstitutionR\fconstitution\DC2,\n\
    \\DC2committee_min_size\CAN\" \SOH(\EOTR\DLEcommitteeMinSize\DC29\n\
    \\EMcommittee_max_term_length\CAN# \SOH(\EOTR\SYNcommitteeMaxTermLength\DC2.\n\
    \\DC3gov_action_lifetime\CAN$ \SOH(\EOTR\DC1govActionLifetime\DC2L\n\
    \\DC2gov_action_deposit\CAN% \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\DLEgovActionDeposit\DC2A\n\
    \\fdrep_deposit\CAN& \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\vdrepDeposit\DC2#\n\
    \\rdrep_activity\CAN' \SOH(\EOTR\fdrepActivity\DC2l\n\
    \ min_fee_ref_script_cost_per_byte\CAN( \SOH(\v2&.utxorpc.v1beta.cardano.RationalNumberR\SUBminFeeRefScriptCostPerByte\DC2b\n\
    \\SYNdrep_voting_thresholds\CAN) \SOH(\v2,.utxorpc.v1beta.cardano.DRepVotingThresholdsR\DC4drepVotingThresholds\DC2b\n\
    \\SYNpool_voting_thresholds\CAN* \SOH(\v2,.utxorpc.v1beta.cardano.PoolVotingThresholdsR\DC4poolVotingThresholds\SUB<\n\
    \\SOAvvmDistrEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
    \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH\SUBC\n\
    \\NAKBootStakeholdersEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
    \\ENQvalue\CAN\STX \SOH(\EOTR\ENQvalue:\STX8\SOH\SUBk\n\
    \\DC4HeavyDelegationEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2=\n\
    \\ENQvalue\CAN\STX \SOH(\v2'.utxorpc.v1beta.cardano.HeavyDelegationR\ENQvalue:\STX8\SOH\SUBB\n\
    \\DC4NonAvvmBalancesEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
    \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH\SUB\\\n\
    \\rVssCertsEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC25\n\
    \\ENQvalue\CAN\STX \SOH(\v2\US.utxorpc.v1beta.cardano.VssCertR\ENQvalue:\STX8\SOH\SUB_\n\
    \\SOGenDelegsEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC27\n\
    \\ENQvalue\CAN\STX \SOH(\v2!.utxorpc.v1beta.cardano.GenDelegsR\ENQvalue:\STX8\SOH\SUB_\n\
    \\DC1InitialFundsEntry\DC2\DLE\n\
    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC24\n\
    \\ENQvalue\CAN\STX \SOH(\v2\RS.utxorpc.v1beta.cardano.BigIntR\ENQvalue:\STX8\SOH*\219\SOH\n\
    \\SIRedeemerPurpose\DC2 \n\
    \\FSREDEEMER_PURPOSE_UNSPECIFIED\DLE\NUL\DC2\SUB\n\
    \\SYNREDEEMER_PURPOSE_SPEND\DLE\SOH\DC2\EM\n\
    \\NAKREDEEMER_PURPOSE_MINT\DLE\STX\DC2\EM\n\
    \\NAKREDEEMER_PURPOSE_CERT\DLE\ETX\DC2\ESC\n\
    \\ETBREDEEMER_PURPOSE_REWARD\DLE\EOT\DC2\EM\n\
    \\NAKREDEEMER_PURPOSE_VOTE\DLE\ENQ\DC2\FS\n\
    \\CANREDEEMER_PURPOSE_PROPOSE\DLE\ACK*Y\n\
    \\tMirSource\DC2\SUB\n\
    \\SYNMIR_SOURCE_UNSPECIFIED\DLE\NUL\DC2\ETB\n\
    \\DC3MIR_SOURCE_RESERVES\DLE\SOH\DC2\ETB\n\
    \\DC3MIR_SOURCE_TREASURY\DLE\STXB\164\SOH\n\
    \\SUBcom.utxorpc.v1beta.cardanoB\fCardanoProtoP\SOH\162\STX\ETXUVC\170\STX\SYNUtxorpc.V1beta.Cardano\202\STX\SYNUtxorpc\\V1beta\\Cardano\226\STX\"Utxorpc\\V1beta\\Cardano\\GPBMetadata\234\STX\CANUtxorpc::V1beta::CardanoJ\177\180\STX\n\
    \\a\DC2\ENQ\NUL\NUL\188\ACK\SOH\n\
    \\b\n\
    \\SOH\f\DC2\ETX\NUL\NUL\DC2\n\
    \\b\n\
    \\SOH\STX\DC2\ETX\STX\NUL\US\n\
    \7\n\
    \\STX\ENQ\NUL\DC2\EOT\ENQ\NUL\r\SOH\SUB+ Purpose of the redeemer in a transaction.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\ENQ\NUL\SOH\DC2\ETX\ENQ\ENQ\DC4\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\NUL\DC2\ETX\ACK\STX#\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX\ACK\STX\RS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX\ACK!\"\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\SOH\DC2\ETX\a\STX\GS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\ETX\a\STX\CAN\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\ETX\a\ESC\FS\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\STX\DC2\ETX\b\STX\FS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\ETX\b\STX\ETB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\ETX\b\SUB\ESC\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\ETX\DC2\ETX\t\STX\FS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ETX\SOH\DC2\ETX\t\STX\ETB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ETX\STX\DC2\ETX\t\SUB\ESC\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\EOT\DC2\ETX\n\
    \\STX\RS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\EOT\SOH\DC2\ETX\n\
    \\STX\EM\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\EOT\STX\DC2\ETX\n\
    \\FS\GS\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\ENQ\DC2\ETX\v\STX\FS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ENQ\SOH\DC2\ETX\v\STX\ETB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ENQ\STX\DC2\ETX\v\SUB\ESC\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\ACK\DC2\ETX\f\STX\US\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ACK\SOH\DC2\ETX\f\STX\SUB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ACK\STX\DC2\ETX\f\GS\RS\n\
    \7\n\
    \\STX\EOT\NUL\DC2\EOT\DLE\NUL\SYN\SOH\SUB+ Redeemer information for a Plutus script.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\NUL\SOH\DC2\ETX\DLE\b\DLE\n\
    \'\n\
    \\EOT\EOT\NUL\STX\NUL\DC2\ETX\DC1\STX\RS\"\SUB Purpose of the redeemer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX\DC1\STX\DC1\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX\DC1\DC2\EM\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX\DC1\FS\GS\n\
    \8\n\
    \\EOT\EOT\NUL\STX\SOH\DC2\ETX\DC2\STX\EM\"+ Plutus data associated with the redeemer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX\DC2\STX\f\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX\DC2\r\DC4\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX\DC2\ETB\CAN\n\
    \%\n\
    \\EOT\EOT\NUL\STX\STX\DC2\ETX\DC3\STX\DC3\"\CAN Index of the redeemer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\STX\ENQ\DC2\ETX\DC3\STX\b\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX\DC3\t\SO\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX\DC3\DC1\DC2\n\
    \8\n\
    \\EOT\EOT\NUL\STX\ETX\DC2\ETX\DC4\STX\ETB\"+ Execution units consumed by the redeemer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\ETX\ACK\DC2\ETX\DC4\STX\t\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\ETX\SOH\DC2\ETX\DC4\n\
    \\DC2\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\ETX\ETX\DC2\ETX\DC4\NAK\SYN\n\
    \:\n\
    \\EOT\EOT\NUL\STX\EOT\DC2\ETX\NAK\STX\SUB\"- Original cbor-encoded data as seen on-chain\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\EOT\ENQ\DC2\ETX\NAK\STX\a\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\EOT\SOH\DC2\ETX\NAK\b\NAK\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\EOT\ETX\DC2\ETX\NAK\CAN\EM\n\
    \G\n\
    \\STX\EOT\SOH\DC2\EOT\EM\NUL\RS\SOH\SUB; Represents a transaction input in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\SOH\SOH\DC2\ETX\EM\b\SI\n\
    \0\n\
    \\EOT\EOT\SOH\STX\NUL\DC2\ETX\SUB\STX\DC4\"# Hash of the previous transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\ETX\SUB\STX\a\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX\SUB\b\SI\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX\SUB\DC2\DC3\n\
    \?\n\
    \\EOT\EOT\SOH\STX\SOH\DC2\ETX\ESC\STX\SUB\"2 Index of the output in the previous transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\SOH\ENQ\DC2\ETX\ESC\STX\b\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX\ESC\t\NAK\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX\ESC\CAN\EM\n\
    \T\n\
    \\EOT\EOT\SOH\STX\STX\DC2\ETX\FS\STX\EM\"G Content of the input represented as output of the related transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\STX\ACK\DC2\ETX\FS\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX\FS\v\DC4\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX\FS\ETB\CAN\n\
    \.\n\
    \\EOT\EOT\SOH\STX\ETX\DC2\ETX\GS\STX!\"! Redeemer for the Plutus script.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\ETX\EOT\DC2\ETX\GS\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETX\GS\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX\GS\DC4\FS\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX\GS\US \n\
    \H\n\
    \\STX\EOT\STX\DC2\EOT!\NUL'\SOH\SUB< Represents a transaction output in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\STX\SOH\DC2\ETX!\b\DLE\n\
    \,\n\
    \\EOT\EOT\STX\STX\NUL\DC2\ETX\"\STX\DC4\"\US Address receiving the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX\"\STX\a\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX\"\b\SI\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX\"\DC2\DC3\n\
    \+\n\
    \\EOT\EOT\STX\STX\SOH\DC2\ETX#\STX\DC2\"\RS Amount of ADA in the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETX#\STX\b\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETX#\t\r\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETX#\DLE\DC1\n\
    \@\n\
    \\EOT\EOT\STX\STX\STX\DC2\ETX$\STX!\"3 Additional native (non-ADA) assets in the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETX$\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\ACK\DC2\ETX$\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETX$\SYN\FS\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETX$\US \n\
    \6\n\
    \\EOT\EOT\STX\STX\ETX\DC2\ETX%\STX\ESC\") Plutus data associated with the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\ETX\EOT\DC2\ETX%\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\ETX\ACK\DC2\ETX%\v\DLE\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\ETX\SOH\DC2\ETX%\DC1\SYN\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\ETX\ETX\DC2\ETX%\EM\SUB\n\
    \1\n\
    \\EOT\EOT\STX\STX\EOT\DC2\ETX&\STX\GS\"$ Script associated with the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\EOT\EOT\DC2\ETX&\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\EOT\ACK\DC2\ETX&\v\DC1\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\EOT\SOH\DC2\ETX&\DC2\CAN\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\EOT\ETX\DC2\ETX&\ESC\FS\n\
    \\n\
    \\n\
    \\STX\EOT\ETX\DC2\EOT)\NUL-\SOH\n\
    \\n\
    \\n\
    \\ETX\EOT\ETX\SOH\DC2\ETX)\b\r\n\
    \2\n\
    \\EOT\EOT\ETX\STX\NUL\DC2\ETX*\STX\DC1\"% Hash of this datum as seen on-chain\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETX*\STX\a\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETX*\b\f\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETX*\SI\DLE\n\
    \)\n\
    \\EOT\EOT\ETX\STX\SOH\DC2\ETX+\STX\"\"\FS Parsed Plutus data payload\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\SOH\EOT\DC2\ETX+\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\SOH\ACK\DC2\ETX+\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETX+\SYN\GS\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETX+ !\n\
    \:\n\
    \\EOT\EOT\ETX\STX\STX\DC2\ETX,\STX#\"- Original cbor-encoded data as seen on-chain\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\STX\EOT\DC2\ETX,\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\STX\ENQ\DC2\ETX,\v\DLE\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETX,\DC1\RS\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETX,!\"\n\
    \B\n\
    \\STX\EOT\EOT\DC2\EOT0\NUL3\SOH\SUB6 Represents a custom asset in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\EOT\SOH\DC2\ETX0\b\r\n\
    \(\n\
    \\EOT\EOT\EOT\STX\NUL\DC2\ETX1\STX\DC1\"\ESC Name of the custom asset.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\ETX1\STX\a\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\ETX1\b\f\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\ETX1\SI\DLE\n\
    \\139\SOH\n\
    \\EOT\EOT\EOT\STX\SOH\DC2\ETX2\STX\SYN\"~ Quantity of the custom asset. This can be negative only if it is in a `Tx.mint` field and the transaction is burning tokens.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\ETX2\STX\b\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\ETX2\t\DC1\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\ETX2\DC4\NAK\n\
    \G\n\
    \\STX\EOT\ENQ\DC2\EOT6\NUL9\SOH\SUB; Represents a multi-asset group in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\ENQ\SOH\DC2\ETX6\b\DC2\n\
    \5\n\
    \\EOT\EOT\ENQ\STX\NUL\DC2\ETX7\STX\SYN\"( Policy ID governing the custom assets.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\ETX7\STX\a\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\ETX7\b\DC1\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\ETX7\DC4\NAK\n\
    \%\n\
    \\EOT\EOT\ENQ\STX\SOH\DC2\ETX8\STX\FS\"\CAN List of custom assets.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\EOT\DC2\ETX8\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\ETX8\v\DLE\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\ETX8\DC1\ETB\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\ETX8\SUB\ESC\n\
    \@\n\
    \\STX\EOT\ACK\DC2\EOT<\NUL?\SOH\SUB4 Represents the validity interval of a transaction.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\ACK\SOH\DC2\ETX<\b\DC2\n\
    \.\n\
    \\EOT\EOT\ACK\STX\NUL\DC2\ETX=\STX\DC3\"! Start of the validity interval.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\ETX=\STX\b\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\ETX=\t\SO\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\ETX=\DC1\DC2\n\
    \@\n\
    \\EOT\EOT\ACK\STX\SOH\DC2\ETX>\STX\DC1\"3 End of the validity interval (TTL: Time to Live).\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\ETX>\STX\b\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\ETX>\t\f\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\ETX>\SI\DLE\n\
    \F\n\
    \\STX\EOT\a\DC2\EOTB\NULF\SOH\SUB: Represents the collateral information for a transaction.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\a\SOH\DC2\ETXB\b\DC2\n\
    \5\n\
    \\EOT\EOT\a\STX\NUL\DC2\ETXC\STX\"\"( Collateral inputs for the transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\EOT\DC2\ETXC\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\ACK\DC2\ETXC\v\DC2\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\SOH\DC2\ETXC\DC3\GS\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\ETX\DC2\ETXC !\n\
    \;\n\
    \\EOT\EOT\a\STX\SOH\DC2\ETXD\STX!\". Collateral return in case of script failure.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\SOH\ACK\DC2\ETXD\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\SOH\SOH\DC2\ETXD\v\FS\n\
    \\f\n\
    \\ENQ\EOT\a\STX\SOH\ETX\DC2\ETXD\US \n\
    \*\n\
    \\EOT\EOT\a\STX\STX\DC2\ETXE\STX\RS\"\GS Total amount of collateral.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\STX\ACK\DC2\ETXE\STX\b\n\
    \\f\n\
    \\ENQ\EOT\a\STX\STX\SOH\DC2\ETXE\t\EM\n\
    \\f\n\
    \\ENQ\EOT\a\STX\STX\ETX\DC2\ETXE\FS\GS\n\
    \<\n\
    \\STX\EOT\b\DC2\EOTI\NULM\SOH\SUB0 Represents a withdrawal from a reward account.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\b\SOH\DC2\ETXI\b\DC2\n\
    \-\n\
    \\EOT\EOT\b\STX\NUL\DC2\ETXJ\STX\ESC\"  Address of the reward account.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\NUL\ENQ\DC2\ETXJ\STX\a\n\
    \\f\n\
    \\ENQ\EOT\b\STX\NUL\SOH\DC2\ETXJ\b\SYN\n\
    \\f\n\
    \\ENQ\EOT\b\STX\NUL\ETX\DC2\ETXJ\EM\SUB\n\
    \'\n\
    \\EOT\EOT\b\STX\SOH\DC2\ETXK\STX\DC2\"\SUB Amount of ADA withdrawn.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\SOH\ACK\DC2\ETXK\STX\b\n\
    \\f\n\
    \\ENQ\EOT\b\STX\SOH\SOH\DC2\ETXK\t\r\n\
    \\f\n\
    \\ENQ\EOT\b\STX\SOH\ETX\DC2\ETXK\DLE\DC1\n\
    \.\n\
    \\EOT\EOT\b\STX\STX\DC2\ETXL\STX\CAN\"! Redeemer for the Plutus script.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\STX\ACK\DC2\ETXL\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\STX\SOH\DC2\ETXL\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\b\STX\STX\ETX\DC2\ETXL\SYN\ETB\n\
    \G\n\
    \\STX\EOT\t\DC2\EOTP\NULV\SOH\SUB; Represents a set of witnesses that validate a transaction\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\t\SOH\DC2\ETXP\b\DC2\n\
    \&\n\
    \\EOT\EOT\t\STX\NUL\DC2\ETXQ\STX'\"\EM List of VKey witnesses.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\EOT\DC2\ETXQ\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\ACK\DC2\ETXQ\v\SYN\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\SOH\DC2\ETXQ\ETB\"\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\ETX\DC2\ETXQ%&\n\
    \\US\n\
    \\EOT\EOT\t\STX\SOH\DC2\ETXR\STX\GS\"\DC2 List of scripts.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\EOT\DC2\ETXR\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\ACK\DC2\ETXR\v\DC1\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\SOH\DC2\ETXR\DC2\CAN\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\ETX\DC2\ETXR\ESC\FS\n\
    \L\n\
    \\EOT\EOT\t\STX\STX\DC2\ETXS\STX(\"? List of Plutus data elements associated with the transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\EOT\DC2\ETXS\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\ACK\DC2\ETXS\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\SOH\DC2\ETXS\SYN#\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\ETX\DC2\ETXS&'\n\
    \ \n\
    \\EOT\EOT\t\STX\ETX\DC2\ETXT\STX\"\"\DC3 List of redeemers\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\ETX\EOT\DC2\ETXT\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\ETX\ACK\DC2\ETXT\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\t\STX\ETX\SOH\DC2\ETXT\DC4\GS\n\
    \\f\n\
    \\ENQ\EOT\t\STX\ETX\ETX\DC2\ETXT !\n\
    \*\n\
    \\EOT\EOT\t\STX\EOT\DC2\ETXU\STX3\"\GS List of bootstrap witnesses\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\EOT\EOT\DC2\ETXU\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\EOT\ACK\DC2\ETXU\v\ESC\n\
    \\f\n\
    \\ENQ\EOT\t\STX\EOT\SOH\DC2\ETXU\FS.\n\
    \\f\n\
    \\ENQ\EOT\t\STX\EOT\ETX\DC2\ETXU12\n\
    \H\n\
    \\STX\EOT\n\
    \\DC2\EOTY\NUL\\\SOH\SUB< Auxiliary data not directly tied to the validation process\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\n\
    \\SOH\DC2\ETXY\b\SI\n\
    \3\n\
    \\EOT\EOT\n\
    \\STX\NUL\DC2\ETXZ\STX!\"& List of auxiliary metadata elements.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\EOT\DC2\ETXZ\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\ACK\DC2\ETXZ\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\SOH\DC2\ETXZ\DC4\FS\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\ETX\DC2\ETXZ\US \n\
    \)\n\
    \\EOT\EOT\n\
    \\STX\SOH\DC2\ETX[\STX\RS\"\FS List of auxiliary scripts.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\EOT\DC2\ETX[\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\ACK\DC2\ETX[\v\DC1\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\SOH\DC2\ETX[\DC2\EM\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\ETX\DC2\ETX[\FS\GS\n\
    \A\n\
    \\STX\EOT\v\DC2\EOT_\NULn\SOH\SUB5 Represents a transaction in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\v\SOH\DC2\ETX_\b\n\
    \\n\
    \)\n\
    \\EOT\EOT\v\STX\NUL\DC2\ETX`\STX\RS\"\FS List of transaction inputs\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\EOT\DC2\ETX`\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\ACK\DC2\ETX`\v\DC2\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\SOH\DC2\ETX`\DC3\EM\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\ETX\DC2\ETX`\FS\GS\n\
    \*\n\
    \\EOT\EOT\v\STX\SOH\DC2\ETXa\STX \"\GS List of transaction outputs\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\EOT\DC2\ETXa\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\ACK\DC2\ETXa\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\SOH\DC2\ETXa\DC4\ESC\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\ETX\DC2\ETXa\RS\US\n\
    \#\n\
    \\EOT\EOT\v\STX\STX\DC2\ETXb\STX(\"\SYN List of certificates\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\EOT\DC2\ETXb\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\ACK\DC2\ETXb\v\SYN\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\SOH\DC2\ETXb\ETB#\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\ETX\DC2\ETXb&'\n\
    \\"\n\
    \\EOT\EOT\v\STX\ETX\DC2\ETXc\STX&\"\NAK List of withdrawals\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\EOT\DC2\ETXc\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\ACK\DC2\ETXc\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\SOH\DC2\ETXc\SYN!\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\ETX\DC2\ETXc$%\n\
    \+\n\
    \\EOT\EOT\v\STX\EOT\DC2\ETXd\STX\US\"\RS List of minted custom assets\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\EOT\DC2\ETXd\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\ACK\DC2\ETXd\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\SOH\DC2\ETXd\SYN\SUB\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\ETX\DC2\ETXd\GS\RS\n\
    \'\n\
    \\EOT\EOT\v\STX\ENQ\DC2\ETXe\STX(\"\SUB List of reference inputs\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\EOT\DC2\ETXe\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\ACK\DC2\ETXe\v\DC2\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\SOH\DC2\ETXe\DC3#\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\ETX\DC2\ETXe&'\n\
    \5\n\
    \\EOT\EOT\v\STX\ACK\DC2\ETXf\STX\ESC\"( Witnesses that validte the transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ACK\ACK\DC2\ETXf\STX\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ACK\SOH\DC2\ETXf\r\SYN\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ACK\ETX\DC2\ETXf\EM\SUB\n\
    \?\n\
    \\EOT\EOT\v\STX\a\DC2\ETXg\STX\FS\"2 Collateral details in case of failed transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\a\ACK\DC2\ETXg\STX\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\a\SOH\DC2\ETXg\r\ETB\n\
    \\f\n\
    \\ENQ\EOT\v\STX\a\ETX\DC2\ETXg\SUB\ESC\n\
    \%\n\
    \\EOT\EOT\v\STX\b\DC2\ETXh\STX\DC1\"\CAN Transaction fee in ADA\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\b\ACK\DC2\ETXh\STX\b\n\
    \\f\n\
    \\ENQ\EOT\v\STX\b\SOH\DC2\ETXh\t\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\b\ETX\DC2\ETXh\SI\DLE\n\
    \3\n\
    \\EOT\EOT\v\STX\t\DC2\ETXi\STX\ESC\"& Validity interval of the transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\t\ACK\DC2\ETXi\STX\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\t\SOH\DC2\ETXi\r\NAK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\t\ETX\DC2\ETXi\CAN\SUB\n\
    \E\n\
    \\EOT\EOT\v\STX\n\
    \\DC2\ETXj\STX\ETB\"8 Flag indicating whether the transaction was successful\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\n\
    \\ENQ\DC2\ETXj\STX\ACK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\n\
    \\SOH\DC2\ETXj\a\DC1\n\
    \\f\n\
    \\ENQ\EOT\v\STX\n\
    \\ETX\DC2\ETXj\DC4\SYN\n\
    \I\n\
    \\EOT\EOT\v\STX\v\DC2\ETXk\STX\EM\"< Auxiliary data not directly tied to the validation process\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\v\ACK\DC2\ETXk\STX\t\n\
    \\f\n\
    \\ENQ\EOT\v\STX\v\SOH\DC2\ETXk\n\
    \\DC3\n\
    \\f\n\
    \\ENQ\EOT\v\STX\v\ETX\DC2\ETXk\SYN\CAN\n\
    \E\n\
    \\EOT\EOT\v\STX\f\DC2\ETXl\STX\DC2\"8 Hash of the transaction that serves as main identifier\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\f\ENQ\DC2\ETXl\STX\a\n\
    \\f\n\
    \\ENQ\EOT\v\STX\f\SOH\DC2\ETXl\b\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\f\ETX\DC2\ETXl\SI\DC1\n\
    \2\n\
    \\EOT\EOT\v\STX\r\DC2\ETXm\STX3\"% List of governance actions proposed\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\EOT\DC2\ETXm\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\ACK\DC2\ETXm\v#\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\SOH\DC2\ETXm$-\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\ETX\DC2\ETXm02\n\
    \1\n\
    \\STX\EOT\f\DC2\EOTq\NULv\SOH\SUB% Define a governance action proposal\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\f\SOH\DC2\ETXq\b \n\
    \=\n\
    \\EOT\EOT\f\STX\NUL\DC2\ETXr\STX\NAK\"0 The amount deposited for the governance action\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\f\STX\NUL\ACK\DC2\ETXr\STX\b\n\
    \\f\n\
    \\ENQ\EOT\f\STX\NUL\SOH\DC2\ETXr\t\DLE\n\
    \\f\n\
    \\ENQ\EOT\f\STX\NUL\ETX\DC2\ETXr\DC3\DC4\n\
    \C\n\
    \\EOT\EOT\f\STX\SOH\DC2\ETXs\STX\ESC\"6 The reward account the deposit should be returned to\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\f\STX\SOH\ENQ\DC2\ETXs\STX\a\n\
    \\f\n\
    \\ENQ\EOT\f\STX\SOH\SOH\DC2\ETXs\b\SYN\n\
    \\f\n\
    \\ENQ\EOT\f\STX\SOH\ETX\DC2\ETXs\EM\SUB\n\
    \\v\n\
    \\EOT\EOT\f\STX\STX\DC2\ETXt\STX\"\n\
    \\f\n\
    \\ENQ\EOT\f\STX\STX\ACK\DC2\ETXt\STX\DC2\n\
    \\f\n\
    \\ENQ\EOT\f\STX\STX\SOH\DC2\ETXt\DC3\GS\n\
    \\f\n\
    \\ENQ\EOT\f\STX\STX\ETX\DC2\ETXt !\n\
    \\v\n\
    \\EOT\EOT\f\STX\ETX\DC2\ETXu\STX\DC4\n\
    \\f\n\
    \\ENQ\EOT\f\STX\ETX\ACK\DC2\ETXu\STX\b\n\
    \\f\n\
    \\ENQ\EOT\f\STX\ETX\SOH\DC2\ETXu\t\SI\n\
    \\f\n\
    \\ENQ\EOT\f\STX\ETX\ETX\DC2\ETXu\DC2\DC3\n\
    \)\n\
    \\STX\EOT\r\DC2\ENQy\NUL\131\SOH\SOH\SUB\FS Define a Governance Action\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\r\SOH\DC2\ETXy\b\CAN\n\
    \\r\n\
    \\EOT\EOT\r\b\NUL\DC2\ENQz\STX\130\SOH\ETX\n\
    \\f\n\
    \\ENQ\EOT\r\b\NUL\SOH\DC2\ETXz\b\EM\n\
    \)\n\
    \\EOT\EOT\r\STX\NUL\DC2\ETX{\EOT6\"\FS Change on-chain parameters\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\NUL\ACK\DC2\ETX{\EOT\EM\n\
    \\f\n\
    \\ENQ\EOT\r\STX\NUL\SOH\DC2\ETX{\SUB1\n\
    \\f\n\
    \\ENQ\EOT\r\STX\NUL\ETX\DC2\ETX{45\n\
    \#\n\
    \\EOT\EOT\r\STX\SOH\DC2\ETX|\EOT=\"\SYN Initiate a Hard Fork\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\SOH\ACK\DC2\ETX|\EOT\FS\n\
    \\f\n\
    \\ENQ\EOT\r\STX\SOH\SOH\DC2\ETX|\GS8\n\
    \\f\n\
    \\ENQ\EOT\r\STX\SOH\ETX\DC2\ETX|;<\n\
    \)\n\
    \\EOT\EOT\r\STX\STX\DC2\ETX}\EOT>\"\FS Withdraw from the Treasury\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\STX\ACK\DC2\ETX}\EOT\GS\n\
    \\f\n\
    \\ENQ\EOT\r\STX\STX\SOH\DC2\ETX}\RS9\n\
    \\f\n\
    \\ENQ\EOT\r\STX\STX\ETX\DC2\ETX}<=\n\
    \\SO\n\
    \\EOT\EOT\r\STX\ETX\DC2\ETX~\EOT0\"\SOH\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\ETX\ACK\DC2\ETX~\EOT\SYN\n\
    \\f\n\
    \\ENQ\EOT\r\STX\ETX\SOH\DC2\ETX~\ETB+\n\
    \\f\n\
    \\ENQ\EOT\r\STX\ETX\ETX\DC2\ETX~./\n\
    \0\n\
    \\EOT\EOT\r\STX\EOT\DC2\ETX\DEL\EOT6\"# Update the Constitution Committee\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\EOT\ACK\DC2\ETX\DEL\EOT\EM\n\
    \\f\n\
    \\ENQ\EOT\r\STX\EOT\SOH\DC2\ETX\DEL\SUB1\n\
    \\f\n\
    \\ENQ\EOT\r\STX\EOT\ETX\DC2\ETX\DEL45\n\
    \(\n\
    \\EOT\EOT\r\STX\ENQ\DC2\EOT\128\SOH\EOT6\"\SUB Replace the Constitution\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ENQ\ACK\DC2\EOT\128\SOH\EOT\EM\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ENQ\SOH\DC2\EOT\128\SOH\SUB1\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ENQ\ETX\DC2\EOT\128\SOH45\n\
    \\ESC\n\
    \\EOT\EOT\r\STX\ACK\DC2\EOT\129\SOH\EOT\US\"\r Info action\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ACK\ACK\DC2\EOT\129\SOH\EOT\SO\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ACK\SOH\DC2\EOT\129\SOH\SI\SUB\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ACK\ETX\DC2\EOT\129\SOH\GS\RS\n\
    \\f\n\
    \\STX\EOT\SO\DC2\ACK\133\SOH\NUL\136\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\SO\SOH\DC2\EOT\133\SOH\b\SUB\n\
    \\f\n\
    \\EOT\EOT\SO\STX\NUL\DC2\EOT\134\SOH\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\NUL\ENQ\DC2\EOT\134\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\NUL\SOH\DC2\EOT\134\SOH\b\SYN\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\NUL\ETX\DC2\EOT\134\SOH\EM\SUB\n\
    \\f\n\
    \\EOT\EOT\SO\STX\SOH\DC2\EOT\135\SOH\STX%\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\SOH\ENQ\DC2\EOT\135\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\SOH\SOH\DC2\EOT\135\SOH\t \n\
    \\r\n\
    \\ENQ\EOT\SO\STX\SOH\ETX\DC2\EOT\135\SOH#$\n\
    \\f\n\
    \\STX\EOT\SI\DC2\ACK\138\SOH\NUL\142\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\SI\SOH\DC2\EOT\138\SOH\b\GS\n\
    \\f\n\
    \\EOT\EOT\SI\STX\NUL\DC2\EOT\139\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\NUL\ACK\DC2\EOT\139\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\NUL\SOH\DC2\EOT\139\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\NUL\ETX\DC2\EOT\139\SOH%&\n\
    \$\n\
    \\EOT\EOT\SI\STX\SOH\DC2\EOT\140\SOH\STX$\"\SYN The updates proposed\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\SOH\ACK\DC2\EOT\140\SOH\STX\t\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\SOH\SOH\DC2\EOT\140\SOH\n\
    \\US\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\SOH\ETX\DC2\EOT\140\SOH\"#\n\
    \\f\n\
    \\EOT\EOT\SI\STX\STX\DC2\EOT\141\SOH\STX\CAN\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\STX\ENQ\DC2\EOT\141\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\STX\SOH\DC2\EOT\141\SOH\b\DC3\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\STX\ETX\DC2\EOT\141\SOH\SYN\ETB\n\
    \\f\n\
    \\STX\EOT\DLE\DC2\ACK\144\SOH\NUL\147\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DLE\SOH\DC2\EOT\144\SOH\b \n\
    \\f\n\
    \\EOT\EOT\DLE\STX\NUL\DC2\EOT\145\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\NUL\ACK\DC2\EOT\145\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\NUL\SOH\DC2\EOT\145\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\NUL\ETX\DC2\EOT\145\SOH%&\n\
    \/\n\
    \\EOT\EOT\DLE\STX\SOH\DC2\EOT\146\SOH\STX'\"! The protocol version to fork to\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\SOH\ACK\DC2\EOT\146\SOH\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\SOH\SOH\DC2\EOT\146\SOH\DC2\"\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\SOH\ETX\DC2\EOT\146\SOH%&\n\
    \\f\n\
    \\STX\EOT\DC1\DC2\ACK\149\SOH\NUL\152\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC1\SOH\DC2\EOT\149\SOH\b!\n\
    \1\n\
    \\EOT\EOT\DC1\STX\NUL\DC2\EOT\150\SOH\STX,\"# A list of the withdrawals to make\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\EOT\DC2\EOT\150\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\ACK\DC2\EOT\150\SOH\v\ESC\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\SOH\DC2\EOT\150\SOH\FS'\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\ETX\DC2\EOT\150\SOH*+\n\
    \\f\n\
    \\EOT\EOT\DC1\STX\SOH\DC2\EOT\151\SOH\STX\CAN\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\SOH\ENQ\DC2\EOT\151\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\SOH\SOH\DC2\EOT\151\SOH\b\DC3\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\SOH\ETX\DC2\EOT\151\SOH\SYN\ETB\n\
    \\f\n\
    \\STX\EOT\DC2\DC2\ACK\154\SOH\NUL\157\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC2\SOH\DC2\EOT\154\SOH\b\CAN\n\
    \\f\n\
    \\EOT\EOT\DC2\STX\NUL\DC2\EOT\155\SOH\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\NUL\ENQ\DC2\EOT\155\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\NUL\SOH\DC2\EOT\155\SOH\b\SYN\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\NUL\ETX\DC2\EOT\155\SOH\EM\SUB\n\
    \\f\n\
    \\EOT\EOT\DC2\STX\SOH\DC2\EOT\156\SOH\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\SOH\ACK\DC2\EOT\156\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\SOH\SOH\DC2\EOT\156\SOH\t\r\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\SOH\ETX\DC2\EOT\156\SOH\DLE\DC1\n\
    \\f\n\
    \\STX\EOT\DC3\DC2\ACK\159\SOH\NUL\161\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC3\SOH\DC2\EOT\159\SOH\b\SUB\n\
    \\f\n\
    \\EOT\EOT\DC3\STX\NUL\DC2\EOT\160\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\DC3\STX\NUL\ACK\DC2\EOT\160\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\DC3\STX\NUL\SOH\DC2\EOT\160\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\DC3\STX\NUL\ETX\DC2\EOT\160\SOH%&\n\
    \\f\n\
    \\STX\EOT\DC4\DC2\ACK\163\SOH\NUL\168\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC4\SOH\DC2\EOT\163\SOH\b\GS\n\
    \\f\n\
    \\EOT\EOT\DC4\STX\NUL\DC2\EOT\164\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\NUL\ACK\DC2\EOT\164\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\NUL\SOH\DC2\EOT\164\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\NUL\ETX\DC2\EOT\164\SOH%&\n\
    \4\n\
    \\EOT\EOT\DC4\STX\SOH\DC2\EOT\165\SOH\STX<\"& Committee members to remove (if any)\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\EOT\DC2\EOT\165\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\ACK\DC2\EOT\165\SOH\v\SUB\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\SOH\DC2\EOT\165\SOH\ESC7\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\ETX\DC2\EOT\165\SOH:;\n\
    \)\n\
    \\EOT\EOT\DC4\STX\STX\DC2\EOT\166\SOH\STXA\"\ESC The new committee members\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\EOT\DC2\EOT\166\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\ACK\DC2\EOT\166\SOH\v\"\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\SOH\DC2\EOT\166\SOH#<\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\ETX\DC2\EOT\166\SOH?@\n\
    \8\n\
    \\EOT\EOT\DC4\STX\ETX\DC2\EOT\167\SOH\STX-\"* The required threshold for the committee\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\ETX\ACK\DC2\EOT\167\SOH\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\ETX\SOH\DC2\EOT\167\SOH\DC1(\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\ETX\ETX\DC2\EOT\167\SOH+,\n\
    \\f\n\
    \\STX\EOT\NAK\DC2\ACK\170\SOH\NUL\173\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\NAK\SOH\DC2\EOT\170\SOH\b\GS\n\
    \\f\n\
    \\EOT\EOT\NAK\STX\NUL\DC2\EOT\171\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\NUL\ACK\DC2\EOT\171\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\NUL\SOH\DC2\EOT\171\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\NUL\ETX\DC2\EOT\171\SOH%&\n\
    \)\n\
    \\EOT\EOT\NAK\STX\SOH\DC2\EOT\172\SOH\STX \"\ESC The Constitution proposed\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\SOH\ACK\DC2\EOT\172\SOH\STX\SO\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\SOH\SOH\DC2\EOT\172\SOH\SI\ESC\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\SOH\ETX\DC2\EOT\172\SOH\RS\US\n\
    \\n\
    \\n\
    \\STX\EOT\SYN\DC2\EOT\175\SOH\NUL\NAK\n\
    \\v\n\
    \\ETX\EOT\SYN\SOH\DC2\EOT\175\SOH\b\DC2\n\
    \\f\n\
    \\STX\EOT\ETB\DC2\ACK\177\SOH\NUL\180\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\ETB\SOH\DC2\EOT\177\SOH\b\DC4\n\
    \*\n\
    \\EOT\EOT\ETB\STX\NUL\DC2\EOT\178\SOH\STX\DC4\"\FS Anchor to the new document\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\NUL\ACK\DC2\EOT\178\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\NUL\SOH\DC2\EOT\178\SOH\t\SI\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\NUL\ETX\DC2\EOT\178\SOH\DC2\DC3\n\
    \$\n\
    \\EOT\EOT\ETB\STX\SOH\DC2\EOT\179\SOH\STX\DC1\"\SYN Hash of the document\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\SOH\ENQ\DC2\EOT\179\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\SOH\SOH\DC2\EOT\179\SOH\b\f\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\SOH\ETX\DC2\EOT\179\SOH\SI\DLE\n\
    \\176\SOH\n\
    \\STX\EOT\CAN\DC2\ACK\184\SOH\NUL\187\SOH\SOH\SUB\161\SOH The new committee credential are passed as a map where the key is the committee cold credential hash\n\
    \ and the value is the expiration epoch for that credential\n\
    \\n\
    \\v\n\
    \\ETX\EOT\CAN\SOH\DC2\EOT\184\SOH\b\US\n\
    \\f\n\
    \\EOT\EOT\CAN\STX\NUL\DC2\EOT\185\SOH\STX0\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\NUL\ACK\DC2\EOT\185\SOH\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\NUL\SOH\DC2\EOT\185\SOH\DC2+\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\NUL\ETX\DC2\EOT\185\SOH./\n\
    \\f\n\
    \\EOT\EOT\CAN\STX\SOH\DC2\EOT\186\SOH\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\SOH\ENQ\DC2\EOT\186\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\SOH\SOH\DC2\EOT\186\SOH\t\SYN\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\SOH\ETX\DC2\EOT\186\SOH\EM\SUB\n\
    \<\n\
    \\STX\EOT\EM\DC2\ACK\190\SOH\NUL\194\SOH\SOH\SUB. Contains the header information for a block.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\EM\SOH\DC2\EOT\190\SOH\b\DC3\n\
    \\FS\n\
    \\EOT\EOT\EM\STX\NUL\DC2\EOT\191\SOH\STX\DC2\"\SO Slot number.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\NUL\ENQ\DC2\EOT\191\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\NUL\SOH\DC2\EOT\191\SOH\t\r\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\NUL\ETX\DC2\EOT\191\SOH\DLE\DC1\n\
    \\ESC\n\
    \\EOT\EOT\EM\STX\SOH\DC2\EOT\192\SOH\STX\DC1\"\r Block hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\SOH\ENQ\DC2\EOT\192\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\SOH\SOH\DC2\EOT\192\SOH\b\f\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\SOH\ETX\DC2\EOT\192\SOH\SI\DLE\n\
    \\GS\n\
    \\EOT\EOT\EM\STX\STX\DC2\EOT\193\SOH\STX\DC4\"\SI Block height.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\STX\ENQ\DC2\EOT\193\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\STX\SOH\DC2\EOT\193\SOH\t\SI\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\STX\ETX\DC2\EOT\193\SOH\DC2\DC3\n\
    \:\n\
    \\STX\EOT\SUB\DC2\ACK\197\SOH\NUL\199\SOH\SOH\SUB, Contains the transaction data for a block.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\SUB\SOH\DC2\EOT\197\SOH\b\DC1\n\
    \%\n\
    \\EOT\EOT\SUB\STX\NUL\DC2\EOT\198\SOH\STX\NAK\"\ETB List of transactions.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\NUL\EOT\DC2\EOT\198\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\NUL\ACK\DC2\EOT\198\SOH\v\r\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\NUL\SOH\DC2\EOT\198\SOH\SO\DLE\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\NUL\ETX\DC2\EOT\198\SOH\DC3\DC4\n\
    \G\n\
    \\STX\EOT\ESC\DC2\ACK\202\SOH\NUL\206\SOH\SOH\SUB9 Represents a complete block, including header and body.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\ESC\SOH\DC2\EOT\202\SOH\b\r\n\
    \\GS\n\
    \\EOT\EOT\ESC\STX\NUL\DC2\EOT\203\SOH\STX\EM\"\SI Block header.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\NUL\ACK\DC2\EOT\203\SOH\STX\r\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\NUL\SOH\DC2\EOT\203\SOH\SO\DC4\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\NUL\ETX\DC2\EOT\203\SOH\ETB\CAN\n\
    \\ESC\n\
    \\EOT\EOT\ESC\STX\SOH\DC2\EOT\204\SOH\STX\NAK\"\r Block body.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\SOH\ACK\DC2\EOT\204\SOH\STX\v\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\SOH\SOH\DC2\EOT\204\SOH\f\DLE\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\SOH\ETX\DC2\EOT\204\SOH\DC3\DC4\n\
    \\"\n\
    \\EOT\EOT\ESC\STX\STX\DC2\EOT\205\SOH\STX\ETB\"\DC4 Block ms timestamp\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\STX\ENQ\DC2\EOT\205\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\STX\SOH\DC2\EOT\205\SOH\t\DC2\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\STX\ETX\DC2\EOT\205\SOH\NAK\SYN\n\
    \8\n\
    \\STX\EOT\FS\DC2\ACK\209\SOH\NUL\214\SOH\SOH\SUB* Represents bootstrap keys from Byron era\n\
    \\n\
    \\v\n\
    \\ETX\EOT\FS\SOH\DC2\EOT\209\SOH\b\CAN\n\
    \!\n\
    \\EOT\EOT\FS\STX\NUL\DC2\EOT\210\SOH\STX\DC1\"\DC3 Verification key.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\NUL\ENQ\DC2\EOT\210\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\NUL\SOH\DC2\EOT\210\SOH\b\f\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\NUL\ETX\DC2\EOT\210\SOH\SI\DLE\n\
    \E\n\
    \\EOT\EOT\FS\STX\SOH\DC2\EOT\211\SOH\STX\SYN\"7 Signature generated using the associated private key.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\SOH\ENQ\DC2\EOT\211\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\SOH\SOH\DC2\EOT\211\SOH\b\DC1\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\SOH\ETX\DC2\EOT\211\SOH\DC4\NAK\n\
    \&\n\
    \\EOT\EOT\FS\STX\STX\DC2\EOT\212\SOH\STX\ETB\"\CAN 32 bytes of chain code\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\STX\ENQ\DC2\EOT\212\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\STX\SOH\DC2\EOT\212\SOH\b\DC2\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\STX\ETX\DC2\EOT\212\SOH\NAK\SYN\n\
    \\RS\n\
    \\EOT\EOT\FS\STX\ETX\DC2\EOT\213\SOH\STX\ETB\"\DLE key attributes\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ETX\ENQ\DC2\EOT\213\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ETX\SOH\DC2\EOT\213\SOH\b\DC2\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ETX\ETX\DC2\EOT\213\SOH\NAK\SYN\n\
    \E\n\
    \\STX\EOT\GS\DC2\ACK\217\SOH\NUL\220\SOH\SOH\SUB7 Represents a VKey witness used to sign a transaction.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\GS\SOH\DC2\EOT\217\SOH\b\DC3\n\
    \!\n\
    \\EOT\EOT\GS\STX\NUL\DC2\EOT\218\SOH\STX\DC1\"\DC3 Verification key.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\NUL\ENQ\DC2\EOT\218\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\NUL\SOH\DC2\EOT\218\SOH\b\f\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\NUL\ETX\DC2\EOT\218\SOH\SI\DLE\n\
    \E\n\
    \\EOT\EOT\GS\STX\SOH\DC2\EOT\219\SOH\STX\SYN\"7 Signature generated using the associated private key.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\SOH\ENQ\DC2\EOT\219\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\SOH\SOH\DC2\EOT\219\SOH\b\DC1\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\SOH\ETX\DC2\EOT\219\SOH\DC4\NAK\n\
    \6\n\
    \\STX\EOT\RS\DC2\ACK\223\SOH\NUL\232\SOH\SOH\SUB( Represents a native script in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\RS\SOH\DC2\EOT\223\SOH\b\DC4\n\
    \\SO\n\
    \\EOT\EOT\RS\b\NUL\DC2\ACK\224\SOH\STX\231\SOH\ETX\n\
    \\r\n\
    \\ENQ\EOT\RS\b\NUL\SOH\DC2\EOT\224\SOH\b\NAK\n\
    \4\n\
    \\EOT\EOT\RS\STX\NUL\DC2\EOT\225\SOH\EOT!\"& Script based on an address key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\NUL\ENQ\DC2\EOT\225\SOH\EOT\t\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\NUL\SOH\DC2\EOT\225\SOH\n\
    \\FS\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\NUL\ETX\DC2\EOT\225\SOH\US \n\
    \H\n\
    \\EOT\EOT\RS\STX\SOH\DC2\EOT\226\SOH\EOT$\": Script that requires all nested scripts to be satisfied.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\SOH\ACK\DC2\EOT\226\SOH\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\SOH\SOH\DC2\EOT\226\SOH\NAK\US\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\SOH\ETX\DC2\EOT\226\SOH\"#\n\
    \O\n\
    \\EOT\EOT\RS\STX\STX\DC2\EOT\227\SOH\EOT$\"A Script that requires any of the nested scripts to be satisfied.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\STX\ACK\DC2\EOT\227\SOH\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\STX\SOH\DC2\EOT\227\SOH\NAK\US\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\STX\ETX\DC2\EOT\227\SOH\"#\n\
    \O\n\
    \\EOT\EOT\RS\STX\ETX\DC2\EOT\228\SOH\EOT!\"A Script that requires k out of n nested scripts to be satisfied.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\ETX\ACK\DC2\EOT\228\SOH\EOT\SO\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\ETX\SOH\DC2\EOT\228\SOH\SI\FS\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\ETX\ETX\DC2\EOT\228\SOH\US \n\
    \?\n\
    \\EOT\EOT\RS\STX\EOT\DC2\EOT\229\SOH\EOT\RS\"1 Slot number before which the script is invalid.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\EOT\ENQ\DC2\EOT\229\SOH\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\EOT\SOH\DC2\EOT\229\SOH\v\EM\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\EOT\ETX\DC2\EOT\229\SOH\FS\GS\n\
    \>\n\
    \\EOT\EOT\RS\STX\ENQ\DC2\EOT\230\SOH\EOT!\"0 Slot number after which the script is invalid.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\ENQ\ENQ\DC2\EOT\230\SOH\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\ENQ\SOH\DC2\EOT\230\SOH\v\FS\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\ENQ\ETX\DC2\EOT\230\SOH\US \n\
    \4\n\
    \\STX\EOT\US\DC2\ACK\235\SOH\NUL\237\SOH\SOH\SUB& Represents a list of native scripts.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\US\SOH\DC2\EOT\235\SOH\b\CAN\n\
    \'\n\
    \\EOT\EOT\US\STX\NUL\DC2\EOT\236\SOH\STX\"\"\EM List of native scripts.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\US\STX\NUL\EOT\DC2\EOT\236\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\US\STX\NUL\ACK\DC2\EOT\236\SOH\v\ETB\n\
    \\r\n\
    \\ENQ\EOT\US\STX\NUL\SOH\DC2\EOT\236\SOH\CAN\GS\n\
    \\r\n\
    \\ENQ\EOT\US\STX\NUL\ETX\DC2\EOT\236\SOH !\n\
    \8\n\
    \\STX\EOT \DC2\ACK\240\SOH\NUL\243\SOH\SOH\SUB* Represents a \"k out of n\" native script.\n\
    \\n\
    \\v\n\
    \\ETX\EOT \SOH\DC2\EOT\240\SOH\b\DC2\n\
    \9\n\
    \\EOT\EOT \STX\NUL\DC2\EOT\241\SOH\STX\SI\"+ The number of required satisfied scripts.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT \STX\NUL\ENQ\DC2\EOT\241\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT \STX\NUL\SOH\DC2\EOT\241\SOH\t\n\
    \\n\
    \\r\n\
    \\ENQ\EOT \STX\NUL\ETX\DC2\EOT\241\SOH\r\SO\n\
    \'\n\
    \\EOT\EOT \STX\SOH\DC2\EOT\242\SOH\STX$\"\EM List of native scripts.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT \STX\SOH\EOT\DC2\EOT\242\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT \STX\SOH\ACK\DC2\EOT\242\SOH\v\ETB\n\
    \\r\n\
    \\ENQ\EOT \STX\SOH\SOH\DC2\EOT\242\SOH\CAN\US\n\
    \\r\n\
    \\ENQ\EOT \STX\SOH\ETX\DC2\EOT\242\SOH\"#\n\
    \D\n\
    \\STX\EOT!\DC2\ACK\246\SOH\NUL\250\SOH\SOH\SUB6 Represents a constructor for Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT!\SOH\DC2\EOT\246\SOH\b\SO\n\
    \\f\n\
    \\EOT\EOT!\STX\NUL\DC2\EOT\247\SOH\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT!\STX\NUL\ENQ\DC2\EOT\247\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT!\STX\NUL\SOH\DC2\EOT\247\SOH\t\f\n\
    \\r\n\
    \\ENQ\EOT!\STX\NUL\ETX\DC2\EOT\247\SOH\SI\DLE\n\
    \\f\n\
    \\EOT\EOT!\STX\SOH\DC2\EOT\248\SOH\STX\GS\n\
    \\r\n\
    \\ENQ\EOT!\STX\SOH\ENQ\DC2\EOT\248\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT!\STX\SOH\SOH\DC2\EOT\248\SOH\t\CAN\n\
    \\r\n\
    \\ENQ\EOT!\STX\SOH\ETX\DC2\EOT\248\SOH\ESC\FS\n\
    \\f\n\
    \\EOT\EOT!\STX\STX\DC2\EOT\249\SOH\STX!\n\
    \\r\n\
    \\ENQ\EOT!\STX\STX\EOT\DC2\EOT\249\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT!\STX\STX\ACK\DC2\EOT\249\SOH\v\NAK\n\
    \\r\n\
    \\ENQ\EOT!\STX\STX\SOH\DC2\EOT\249\SOH\SYN\FS\n\
    \\r\n\
    \\ENQ\EOT!\STX\STX\ETX\DC2\EOT\249\SOH\US \n\
    \\207\SOH\n\
    \\STX\EOT\"\DC2\ACK\255\SOH\NUL\133\STX\SOH\SUB\192\SOH Represents a big integer for Plutus data in Cardano.\n\
    \ The representation here follows CBOR specification for bignums:\n\
    \ https://www.rfc-editor.org/rfc/rfc8949.html#name-bignums section 3.4.3.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\"\SOH\DC2\EOT\255\SOH\b\SO\n\
    \\SO\n\
    \\EOT\EOT\"\b\NUL\DC2\ACK\128\STX\STX\132\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT\"\b\NUL\SOH\DC2\EOT\128\STX\b\SI\n\
    \7\n\
    \\EOT\EOT\"\STX\NUL\DC2\EOT\129\STX\EOT\DC2\") Stores value fitting within int64 range\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\NUL\ENQ\DC2\EOT\129\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT\"\STX\NUL\SOH\DC2\EOT\129\STX\n\
    \\r\n\
    \\r\n\
    \\ENQ\EOT\"\STX\NUL\ETX\DC2\EOT\129\STX\DLE\DC1\n\
    \;\n\
    \\EOT\EOT\"\STX\SOH\DC2\EOT\130\STX\EOT\CAN\"- Stores unsigned value exceeding int64 range\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\SOH\ENQ\DC2\EOT\130\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT\"\STX\SOH\SOH\DC2\EOT\130\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT\"\STX\SOH\ETX\DC2\EOT\130\STX\SYN\ETB\n\
    \K\n\
    \\EOT\EOT\"\STX\STX\DC2\EOT\131\STX\EOT\CAN\"= Stores negative value `n` exceeding int64 range as `-1 - n`\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\STX\ENQ\DC2\EOT\131\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT\"\STX\STX\SOH\DC2\EOT\131\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT\"\STX\STX\ETX\DC2\EOT\131\STX\SYN\ETB\n\
    \G\n\
    \\STX\EOT#\DC2\ACK\136\STX\NUL\139\STX\SOH\SUB9 Represents a key-value pair for Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT#\SOH\DC2\EOT\136\STX\b\SYN\n\
    \ \n\
    \\EOT\EOT#\STX\NUL\DC2\EOT\137\STX\STX\NAK\"\DC2 Key of the pair.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT#\STX\NUL\ACK\DC2\EOT\137\STX\STX\f\n\
    \\r\n\
    \\ENQ\EOT#\STX\NUL\SOH\DC2\EOT\137\STX\r\DLE\n\
    \\r\n\
    \\ENQ\EOT#\STX\NUL\ETX\DC2\EOT\137\STX\DC3\DC4\n\
    \\"\n\
    \\EOT\EOT#\STX\SOH\DC2\EOT\138\STX\STX\ETB\"\DC4 Value of the pair.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT#\STX\SOH\ACK\DC2\EOT\138\STX\STX\f\n\
    \\r\n\
    \\ENQ\EOT#\STX\SOH\SOH\DC2\EOT\138\STX\r\DC2\n\
    \\r\n\
    \\ENQ\EOT#\STX\SOH\ETX\DC2\EOT\138\STX\NAK\SYN\n\
    \9\n\
    \\STX\EOT$\DC2\ACK\142\STX\NUL\150\STX\SOH\SUB+ Represents a Plutus data item in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT$\SOH\DC2\EOT\142\STX\b\DC2\n\
    \\SO\n\
    \\EOT\EOT$\b\NUL\DC2\ACK\143\STX\STX\149\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT$\b\NUL\SOH\DC2\EOT\143\STX\b\DC3\n\
    \\FS\n\
    \\EOT\EOT$\STX\NUL\DC2\EOT\144\STX\EOT\SYN\"\SO Constructor.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\NUL\ACK\DC2\EOT\144\STX\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\NUL\SOH\DC2\EOT\144\STX\v\DC1\n\
    \\r\n\
    \\ENQ\EOT$\STX\NUL\ETX\DC2\EOT\144\STX\DC4\NAK\n\
    \#\n\
    \\EOT\EOT$\STX\SOH\DC2\EOT\145\STX\EOT\SUB\"\NAK Map of Plutus data.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\SOH\ACK\DC2\EOT\145\STX\EOT\DC1\n\
    \\r\n\
    \\ENQ\EOT$\STX\SOH\SOH\DC2\EOT\145\STX\DC2\NAK\n\
    \\r\n\
    \\ENQ\EOT$\STX\SOH\ETX\DC2\EOT\145\STX\CAN\EM\n\
    \\FS\n\
    \\EOT\EOT$\STX\STX\DC2\EOT\146\STX\EOT\ETB\"\SO Big integer.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\STX\ACK\DC2\EOT\146\STX\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\STX\SOH\DC2\EOT\146\STX\v\DC2\n\
    \\r\n\
    \\ENQ\EOT$\STX\STX\ETX\DC2\EOT\146\STX\NAK\SYN\n\
    \\RS\n\
    \\EOT\EOT$\STX\ETX\DC2\EOT\147\STX\EOT\FS\"\DLE Bounded bytes.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\ETX\ENQ\DC2\EOT\147\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT$\STX\ETX\SOH\DC2\EOT\147\STX\n\
    \\ETB\n\
    \\r\n\
    \\ENQ\EOT$\STX\ETX\ETX\DC2\EOT\147\STX\SUB\ESC\n\
    \%\n\
    \\EOT\EOT$\STX\EOT\DC2\EOT\148\STX\EOT\RS\"\ETB Array of Plutus data.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\EOT\ACK\DC2\EOT\148\STX\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOT$\STX\EOT\SOH\DC2\EOT\148\STX\DC4\EM\n\
    \\r\n\
    \\ENQ\EOT$\STX\EOT\ETX\DC2\EOT\148\STX\FS\GS\n\
    \;\n\
    \\STX\EOT%\DC2\ACK\153\STX\NUL\155\STX\SOH\SUB- Represents a map of Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT%\SOH\DC2\EOT\153\STX\b\NAK\n\
    \(\n\
    \\EOT\EOT%\STX\NUL\DC2\EOT\154\STX\STX$\"\SUB List of key-value pairs.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT%\STX\NUL\EOT\DC2\EOT\154\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT%\STX\NUL\ACK\DC2\EOT\154\STX\v\EM\n\
    \\r\n\
    \\ENQ\EOT%\STX\NUL\SOH\DC2\EOT\154\STX\SUB\US\n\
    \\r\n\
    \\ENQ\EOT%\STX\NUL\ETX\DC2\EOT\154\STX\"#\n\
    \>\n\
    \\STX\EOT&\DC2\ACK\158\STX\NUL\160\STX\SOH\SUB0 Represents an array of Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT&\SOH\DC2\EOT\158\STX\b\ETB\n\
    \*\n\
    \\EOT\EOT&\STX\NUL\DC2\EOT\159\STX\STX \"\FS List of Plutus data items.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT&\STX\NUL\EOT\DC2\EOT\159\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT&\STX\NUL\ACK\DC2\EOT\159\STX\v\NAK\n\
    \\r\n\
    \\ENQ\EOT&\STX\NUL\SOH\DC2\EOT\159\STX\SYN\ESC\n\
    \\r\n\
    \\ENQ\EOT&\STX\NUL\ETX\DC2\EOT\159\STX\RS\US\n\
    \/\n\
    \\STX\EOT'\DC2\ACK\163\STX\NUL\171\STX\SOH\SUB! Represents a script in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT'\SOH\DC2\EOT\163\STX\b\SO\n\
    \\SO\n\
    \\EOT\EOT'\b\NUL\DC2\ACK\164\STX\STX\170\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT'\b\NUL\SOH\DC2\EOT\164\STX\b\SO\n\
    \\RS\n\
    \\EOT\EOT'\STX\NUL\DC2\EOT\165\STX\EOT\FS\"\DLE Native script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT'\STX\NUL\ACK\DC2\EOT\165\STX\EOT\DLE\n\
    \\r\n\
    \\ENQ\EOT'\STX\NUL\SOH\DC2\EOT\165\STX\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOT'\STX\NUL\ETX\DC2\EOT\165\STX\SUB\ESC\n\
    \!\n\
    \\EOT\EOT'\STX\SOH\DC2\EOT\166\STX\EOT\CAN\"\DC3 Plutus V1 script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT'\STX\SOH\ENQ\DC2\EOT\166\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT'\STX\SOH\SOH\DC2\EOT\166\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT'\STX\SOH\ETX\DC2\EOT\166\STX\SYN\ETB\n\
    \!\n\
    \\EOT\EOT'\STX\STX\DC2\EOT\167\STX\EOT\CAN\"\DC3 Plutus V2 script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT'\STX\STX\ENQ\DC2\EOT\167\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT'\STX\STX\SOH\DC2\EOT\167\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT'\STX\STX\ETX\DC2\EOT\167\STX\SYN\ETB\n\
    \!\n\
    \\EOT\EOT'\STX\ETX\DC2\EOT\168\STX\EOT\CAN\"\DC3 Plutus V3 script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT'\STX\ETX\ENQ\DC2\EOT\168\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT'\STX\ETX\SOH\DC2\EOT\168\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT'\STX\ETX\ETX\DC2\EOT\168\STX\SYN\ETB\n\
    \!\n\
    \\EOT\EOT'\STX\EOT\DC2\EOT\169\STX\EOT\CAN\"\DC3 Plutus V4 script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT'\STX\EOT\ENQ\DC2\EOT\169\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT'\STX\EOT\SOH\DC2\EOT\169\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT'\STX\EOT\ETX\DC2\EOT\169\STX\SYN\ETB\n\
    \\f\n\
    \\STX\EOT(\DC2\ACK\173\STX\NUL\181\STX\SOH\n\
    \\v\n\
    \\ETX\EOT(\SOH\DC2\EOT\173\STX\b\DC1\n\
    \\SO\n\
    \\EOT\EOT(\b\NUL\DC2\ACK\174\STX\STX\180\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT(\b\NUL\SOH\DC2\EOT\174\STX\b\DC1\n\
    \\f\n\
    \\EOT\EOT(\STX\NUL\DC2\EOT\175\STX\EOT\DC2\n\
    \\r\n\
    \\ENQ\EOT(\STX\NUL\ENQ\DC2\EOT\175\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT(\STX\NUL\SOH\DC2\EOT\175\STX\n\
    \\r\n\
    \\r\n\
    \\ENQ\EOT(\STX\NUL\ETX\DC2\EOT\175\STX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT(\STX\SOH\DC2\EOT\176\STX\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT(\STX\SOH\ENQ\DC2\EOT\176\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT(\STX\SOH\SOH\DC2\EOT\176\STX\n\
    \\SI\n\
    \\r\n\
    \\ENQ\EOT(\STX\SOH\ETX\DC2\EOT\176\STX\DC2\DC3\n\
    \\f\n\
    \\EOT\EOT(\STX\STX\DC2\EOT\177\STX\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT(\STX\STX\ENQ\DC2\EOT\177\STX\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT(\STX\STX\SOH\DC2\EOT\177\STX\v\SI\n\
    \\r\n\
    \\ENQ\EOT(\STX\STX\ETX\DC2\EOT\177\STX\DC2\DC3\n\
    \\f\n\
    \\EOT\EOT(\STX\ETX\DC2\EOT\178\STX\EOT\GS\n\
    \\r\n\
    \\ENQ\EOT(\STX\ETX\ACK\DC2\EOT\178\STX\EOT\DC2\n\
    \\r\n\
    \\ENQ\EOT(\STX\ETX\SOH\DC2\EOT\178\STX\DC3\CAN\n\
    \\r\n\
    \\ENQ\EOT(\STX\ETX\ETX\DC2\EOT\178\STX\ESC\FS\n\
    \\f\n\
    \\EOT\EOT(\STX\EOT\DC2\EOT\179\STX\EOT\EM\n\
    \\r\n\
    \\ENQ\EOT(\STX\EOT\ACK\DC2\EOT\179\STX\EOT\DLE\n\
    \\r\n\
    \\ENQ\EOT(\STX\EOT\SOH\DC2\EOT\179\STX\DC1\DC4\n\
    \\r\n\
    \\ENQ\EOT(\STX\EOT\ETX\DC2\EOT\179\STX\ETB\CAN\n\
    \\f\n\
    \\STX\EOT)\DC2\ACK\183\STX\NUL\185\STX\SOH\n\
    \\v\n\
    \\ETX\EOT)\SOH\DC2\EOT\183\STX\b\SYN\n\
    \\f\n\
    \\EOT\EOT)\STX\NUL\DC2\EOT\184\STX\STX\US\n\
    \\r\n\
    \\ENQ\EOT)\STX\NUL\EOT\DC2\EOT\184\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT)\STX\NUL\ACK\DC2\EOT\184\STX\v\DC4\n\
    \\r\n\
    \\ENQ\EOT)\STX\NUL\SOH\DC2\EOT\184\STX\NAK\SUB\n\
    \\r\n\
    \\ENQ\EOT)\STX\NUL\ETX\DC2\EOT\184\STX\GS\RS\n\
    \\f\n\
    \\STX\EOT*\DC2\ACK\187\STX\NUL\189\STX\SOH\n\
    \\v\n\
    \\ETX\EOT*\SOH\DC2\EOT\187\STX\b\DC4\n\
    \\f\n\
    \\EOT\EOT*\STX\NUL\DC2\EOT\188\STX\STX#\n\
    \\r\n\
    \\ENQ\EOT*\STX\NUL\EOT\DC2\EOT\188\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT*\STX\NUL\ACK\DC2\EOT\188\STX\v\CAN\n\
    \\r\n\
    \\ENQ\EOT*\STX\NUL\SOH\DC2\EOT\188\STX\EM\RS\n\
    \\r\n\
    \\ENQ\EOT*\STX\NUL\ETX\DC2\EOT\188\STX!\"\n\
    \\f\n\
    \\STX\EOT+\DC2\ACK\191\STX\NUL\194\STX\SOH\n\
    \\v\n\
    \\ETX\EOT+\SOH\DC2\EOT\191\STX\b\NAK\n\
    \\f\n\
    \\EOT\EOT+\STX\NUL\DC2\EOT\192\STX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT+\STX\NUL\ACK\DC2\EOT\192\STX\STX\v\n\
    \\r\n\
    \\ENQ\EOT+\STX\NUL\SOH\DC2\EOT\192\STX\f\SI\n\
    \\r\n\
    \\ENQ\EOT+\STX\NUL\ETX\DC2\EOT\192\STX\DC2\DC3\n\
    \\f\n\
    \\EOT\EOT+\STX\SOH\DC2\EOT\193\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT+\STX\SOH\ACK\DC2\EOT\193\STX\STX\v\n\
    \\r\n\
    \\ENQ\EOT+\STX\SOH\SOH\DC2\EOT\193\STX\f\DC1\n\
    \\r\n\
    \\ENQ\EOT+\STX\SOH\ETX\DC2\EOT\193\STX\DC4\NAK\n\
    \\f\n\
    \\STX\EOT,\DC2\ACK\196\STX\NUL\199\STX\SOH\n\
    \\v\n\
    \\ETX\EOT,\SOH\DC2\EOT\196\STX\b\DLE\n\
    \\f\n\
    \\EOT\EOT,\STX\NUL\DC2\EOT\197\STX\STX\DC3\n\
    \\r\n\
    \\ENQ\EOT,\STX\NUL\ENQ\DC2\EOT\197\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT,\STX\NUL\SOH\DC2\EOT\197\STX\t\SO\n\
    \\r\n\
    \\ENQ\EOT,\STX\NUL\ETX\DC2\EOT\197\STX\DC1\DC2\n\
    \\f\n\
    \\EOT\EOT,\STX\SOH\DC2\EOT\198\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT,\STX\SOH\ACK\DC2\EOT\198\STX\STX\v\n\
    \\r\n\
    \\ENQ\EOT,\STX\SOH\SOH\DC2\EOT\198\STX\f\DC1\n\
    \\r\n\
    \\ENQ\EOT,\STX\SOH\ETX\DC2\EOT\198\STX\DC4\NAK\n\
    \9\n\
    \\STX\EOT-\DC2\ACK\202\STX\NUL\207\STX\SOH\SUB+ Represents a stake credential in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT-\SOH\DC2\EOT\202\STX\b\ETB\n\
    \\SO\n\
    \\EOT\EOT-\b\NUL\DC2\ACK\203\STX\STX\206\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT-\b\NUL\SOH\DC2\EOT\203\STX\b\CAN\n\
    \!\n\
    \\EOT\EOT-\STX\NUL\DC2\EOT\204\STX\EOT\FS\"\DC3 Address key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT-\STX\NUL\ENQ\DC2\EOT\204\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT-\STX\NUL\SOH\DC2\EOT\204\STX\n\
    \\ETB\n\
    \\r\n\
    \\ENQ\EOT-\STX\NUL\ETX\DC2\EOT\204\STX\SUB\ESC\n\
    \\FS\n\
    \\EOT\EOT-\STX\SOH\DC2\EOT\205\STX\EOT\SUB\"\SO Script hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT-\STX\SOH\ENQ\DC2\EOT\205\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT-\STX\SOH\SOH\DC2\EOT\205\STX\n\
    \\NAK\n\
    \\r\n\
    \\ENQ\EOT-\STX\SOH\ETX\DC2\EOT\205\STX\CAN\EM\n\
    \;\n\
    \\STX\EOT.\DC2\ACK\210\STX\NUL\213\STX\SOH\SUB- Represents a rational number as a fraction.\n\
    \\n\
    \\v\n\
    \\ETX\EOT.\SOH\DC2\EOT\210\STX\b\SYN\n\
    \\f\n\
    \\EOT\EOT.\STX\NUL\DC2\EOT\211\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT.\STX\NUL\ENQ\DC2\EOT\211\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT.\STX\NUL\SOH\DC2\EOT\211\STX\b\DC1\n\
    \\r\n\
    \\ENQ\EOT.\STX\NUL\ETX\DC2\EOT\211\STX\DC4\NAK\n\
    \\f\n\
    \\EOT\EOT.\STX\SOH\DC2\EOT\212\STX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT.\STX\SOH\ENQ\DC2\EOT\212\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT.\STX\SOH\SOH\DC2\EOT\212\STX\t\DC4\n\
    \\r\n\
    \\ENQ\EOT.\STX\SOH\ETX\DC2\EOT\212\STX\ETB\CAN\n\
    \.\n\
    \\STX\EOT/\DC2\ACK\216\STX\NUL\221\STX\SOH\SUB  Represents a relay in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT/\SOH\DC2\EOT\216\STX\b\r\n\
    \\f\n\
    \\EOT\EOT/\STX\NUL\DC2\EOT\217\STX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT/\STX\NUL\ENQ\DC2\EOT\217\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT/\STX\NUL\SOH\DC2\EOT\217\STX\b\r\n\
    \\r\n\
    \\ENQ\EOT/\STX\NUL\ETX\DC2\EOT\217\STX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT/\STX\SOH\DC2\EOT\218\STX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT/\STX\SOH\ENQ\DC2\EOT\218\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT/\STX\SOH\SOH\DC2\EOT\218\STX\b\r\n\
    \\r\n\
    \\ENQ\EOT/\STX\SOH\ETX\DC2\EOT\218\STX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT/\STX\STX\DC2\EOT\219\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT/\STX\STX\ENQ\DC2\EOT\219\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT/\STX\STX\SOH\DC2\EOT\219\STX\t\DC1\n\
    \\r\n\
    \\ENQ\EOT/\STX\STX\ETX\DC2\EOT\219\STX\DC4\NAK\n\
    \\f\n\
    \\EOT\EOT/\STX\ETX\DC2\EOT\220\STX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT/\STX\ETX\ENQ\DC2\EOT\220\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT/\STX\ETX\SOH\DC2\EOT\220\STX\t\r\n\
    \\r\n\
    \\ENQ\EOT/\STX\ETX\ETX\DC2\EOT\220\STX\DLE\DC1\n\
    \4\n\
    \\STX\EOT0\DC2\ACK\224\STX\NUL\227\STX\SOH\SUB& Represents pool metadata in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT0\SOH\DC2\EOT\224\STX\b\DC4\n\
    \\f\n\
    \\EOT\EOT0\STX\NUL\DC2\EOT\225\STX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT0\STX\NUL\ENQ\DC2\EOT\225\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT0\STX\NUL\SOH\DC2\EOT\225\STX\t\f\n\
    \\r\n\
    \\ENQ\EOT0\STX\NUL\ETX\DC2\EOT\225\STX\SI\DLE\n\
    \\f\n\
    \\EOT\EOT0\STX\SOH\DC2\EOT\226\STX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT0\STX\SOH\ENQ\DC2\EOT\226\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT0\STX\SOH\SOH\DC2\EOT\226\STX\b\f\n\
    \\r\n\
    \\ENQ\EOT0\STX\SOH\ETX\DC2\EOT\226\STX\SI\DLE\n\
    \4\n\
    \\STX\EOT1\DC2\ACK\230\STX\NUL\253\STX\SOH\SUB& Represents a certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT1\SOH\DC2\EOT\230\STX\b\DC3\n\
    \\SO\n\
    \\EOT\EOT1\b\NUL\DC2\ACK\231\STX\STX\251\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT1\b\NUL\SOH\DC2\EOT\231\STX\b\DC3\n\
    \/\n\
    \\EOT\EOT1\STX\NUL\DC2\EOT\232\STX\EOT+\"! Stake registration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\NUL\ACK\DC2\EOT\232\STX\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOT1\STX\NUL\SOH\DC2\EOT\232\STX\DC4&\n\
    \\r\n\
    \\ENQ\EOT1\STX\NUL\ETX\DC2\EOT\232\STX)*\n\
    \1\n\
    \\EOT\EOT1\STX\SOH\DC2\EOT\233\STX\EOT-\"# Stake deregistration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\SOH\ACK\DC2\EOT\233\STX\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOT1\STX\SOH\SOH\DC2\EOT\233\STX\DC4(\n\
    \\r\n\
    \\ENQ\EOT1\STX\SOH\ETX\DC2\EOT\233\STX+,\n\
    \-\n\
    \\EOT\EOT1\STX\STX\DC2\EOT\234\STX\EOT-\"\US Stake delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\STX\ACK\DC2\EOT\234\STX\EOT\ETB\n\
    \\r\n\
    \\ENQ\EOT1\STX\STX\SOH\DC2\EOT\234\STX\CAN(\n\
    \\r\n\
    \\ENQ\EOT1\STX\STX\ETX\DC2\EOT\234\STX+,\n\
    \.\n\
    \\EOT\EOT1\STX\ETX\DC2\EOT\235\STX\EOT/\"  Pool registration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\ETX\ACK\DC2\EOT\235\STX\EOT\CAN\n\
    \\r\n\
    \\ENQ\EOT1\STX\ETX\SOH\DC2\EOT\235\STX\EM*\n\
    \\r\n\
    \\ENQ\EOT1\STX\ETX\ETX\DC2\EOT\235\STX-.\n\
    \,\n\
    \\EOT\EOT1\STX\EOT\DC2\EOT\236\STX\EOT+\"\RS Pool retirement certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\EOT\ACK\DC2\EOT\236\STX\EOT\SYN\n\
    \\r\n\
    \\ENQ\EOT1\STX\EOT\SOH\DC2\EOT\236\STX\ETB&\n\
    \\r\n\
    \\ENQ\EOT1\STX\EOT\ETX\DC2\EOT\236\STX)*\n\
    \3\n\
    \\EOT\EOT1\STX\ENQ\DC2\EOT\237\STX\EOT8\"% Genesis key delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\ENQ\ACK\DC2\EOT\237\STX\EOT\FS\n\
    \\r\n\
    \\ENQ\EOT1\STX\ENQ\SOH\DC2\EOT\237\STX\GS3\n\
    \\r\n\
    \\ENQ\EOT1\STX\ENQ\ETX\DC2\EOT\237\STX67\n\
    \7\n\
    \\EOT\EOT1\STX\ACK\DC2\EOT\238\STX\EOT\EM\") Move instantaneous rewards certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\ACK\ACK\DC2\EOT\238\STX\EOT\v\n\
    \\r\n\
    \\ENQ\EOT1\STX\ACK\SOH\DC2\EOT\238\STX\f\DC4\n\
    \\r\n\
    \\ENQ\EOT1\STX\ACK\ETX\DC2\EOT\238\STX\ETB\CAN\n\
    \)\n\
    \\EOT\EOT1\STX\a\DC2\EOT\239\STX\EOT\EM\"\ESC Registration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\a\ACK\DC2\EOT\239\STX\EOT\v\n\
    \\r\n\
    \\ENQ\EOT1\STX\a\SOH\DC2\EOT\239\STX\f\DC4\n\
    \\r\n\
    \\ENQ\EOT1\STX\a\ETX\DC2\EOT\239\STX\ETB\CAN\n\
    \+\n\
    \\EOT\EOT1\STX\b\DC2\EOT\240\STX\EOT\GS\"\GS Unregistration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\b\ACK\DC2\EOT\240\STX\EOT\r\n\
    \\r\n\
    \\ENQ\EOT1\STX\b\SOH\DC2\EOT\240\STX\SO\CAN\n\
    \\r\n\
    \\ENQ\EOT1\STX\b\ETX\DC2\EOT\240\STX\ESC\FS\n\
    \,\n\
    \\EOT\EOT1\STX\t\DC2\EOT\241\STX\EOT'\"\RS Vote delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\t\ACK\DC2\EOT\241\STX\EOT\DC1\n\
    \\r\n\
    \\ENQ\EOT1\STX\t\SOH\DC2\EOT\241\STX\DC2!\n\
    \\r\n\
    \\ENQ\EOT1\STX\t\ETX\DC2\EOT\241\STX$&\n\
    \6\n\
    \\EOT\EOT1\STX\n\
    \\DC2\EOT\242\STX\EOT2\"( Stake and vote delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\n\
    \\ACK\DC2\EOT\242\STX\EOT\SYN\n\
    \\r\n\
    \\ENQ\EOT1\STX\n\
    \\SOH\DC2\EOT\242\STX\ETB,\n\
    \\r\n\
    \\ENQ\EOT1\STX\n\
    \\ETX\DC2\EOT\242\STX/1\n\
    \>\n\
    \\EOT\EOT1\STX\v\DC2\EOT\243\STX\EOT0\"0 Stake registration and delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\v\ACK\DC2\EOT\243\STX\EOT\NAK\n\
    \\r\n\
    \\ENQ\EOT1\STX\v\SOH\DC2\EOT\243\STX\SYN*\n\
    \\r\n\
    \\ENQ\EOT1\STX\v\ETX\DC2\EOT\243\STX-/\n\
    \=\n\
    \\EOT\EOT1\STX\f\DC2\EOT\244\STX\EOT.\"/ Vote registration and delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\f\ACK\DC2\EOT\244\STX\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT1\STX\f\SOH\DC2\EOT\244\STX\NAK(\n\
    \\r\n\
    \\ENQ\EOT1\STX\f\ETX\DC2\EOT\244\STX+-\n\
    \G\n\
    \\EOT\EOT1\STX\r\DC2\EOT\245\STX\EOT9\"9 Stake and vote registration and delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\r\ACK\DC2\EOT\245\STX\EOT\EM\n\
    \\r\n\
    \\ENQ\EOT1\STX\r\SOH\DC2\EOT\245\STX\SUB3\n\
    \\r\n\
    \\ENQ\EOT1\STX\r\ETX\DC2\EOT\245\STX68\n\
    \8\n\
    \\EOT\EOT1\STX\SO\DC2\EOT\246\STX\EOT6\"* Authorize committee hot key certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\SO\ACK\DC2\EOT\246\STX\EOT\CAN\n\
    \\r\n\
    \\ENQ\EOT1\STX\SO\SOH\DC2\EOT\246\STX\EM0\n\
    \\r\n\
    \\ENQ\EOT1\STX\SO\ETX\DC2\EOT\246\STX35\n\
    \6\n\
    \\EOT\EOT1\STX\SI\DC2\EOT\247\STX\EOT<\"( Resign committee cold key certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\SI\ACK\DC2\EOT\247\STX\EOT\ESC\n\
    \\r\n\
    \\ENQ\EOT1\STX\SI\SOH\DC2\EOT\247\STX\FS6\n\
    \\r\n\
    \\ENQ\EOT1\STX\SI\ETX\DC2\EOT\247\STX9;\n\
    \*\n\
    \\EOT\EOT1\STX\DLE\DC2\EOT\248\STX\EOT#\"\FS Register DRep certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\DLE\ACK\DC2\EOT\248\STX\EOT\SI\n\
    \\r\n\
    \\ENQ\EOT1\STX\DLE\SOH\DC2\EOT\248\STX\DLE\GS\n\
    \\r\n\
    \\ENQ\EOT1\STX\DLE\ETX\DC2\EOT\248\STX \"\n\
    \,\n\
    \\EOT\EOT1\STX\DC1\DC2\EOT\249\STX\EOT'\"\RS Unregister DRep certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC1\ACK\DC2\EOT\249\STX\EOT\DC1\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC1\SOH\DC2\EOT\249\STX\DC2!\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC1\ETX\DC2\EOT\249\STX$&\n\
    \(\n\
    \\EOT\EOT1\STX\DC2\DC2\EOT\250\STX\EOT)\"\SUB Update DRep certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC2\ACK\DC2\EOT\250\STX\EOT\DC2\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC2\SOH\DC2\EOT\250\STX\DC3#\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC2\ETX\DC2\EOT\250\STX&(\n\
    \/\n\
    \\EOT\EOT1\STX\DC3\DC2\EOT\252\STX\STX\SUB\"! Redeemer for the Plutus script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC3\ACK\DC2\EOT\252\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC3\SOH\DC2\EOT\252\STX\v\DC3\n\
    \\r\n\
    \\ENQ\EOT1\STX\DC3\ETX\DC2\EOT\252\STX\SYN\EM\n\
    \E\n\
    \\STX\EOT2\DC2\ACK\128\ETX\NUL\131\ETX\SOH\SUB7 Represents a stake delegation certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT2\SOH\DC2\EOT\128\ETX\b\ESC\n\
    \!\n\
    \\EOT\EOT2\STX\NUL\DC2\EOT\129\ETX\STX'\"\DC3 Stake credential.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT2\STX\NUL\ACK\DC2\EOT\129\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT2\STX\NUL\SOH\DC2\EOT\129\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT2\STX\NUL\ETX\DC2\EOT\129\ETX%&\n\
    \\RS\n\
    \\EOT\EOT2\STX\SOH\DC2\EOT\130\ETX\STX\EM\"\DLE Pool key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT2\STX\SOH\ENQ\DC2\EOT\130\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT2\STX\SOH\SOH\DC2\EOT\130\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT2\STX\SOH\ETX\DC2\EOT\130\ETX\ETB\CAN\n\
    \F\n\
    \\STX\EOT3\DC2\ACK\134\ETX\NUL\144\ETX\SOH\SUB8 Represents a pool registration certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT3\SOH\DC2\EOT\134\ETX\b\FS\n\
    \\"\n\
    \\EOT\EOT3\STX\NUL\DC2\EOT\135\ETX\STX\NAK\"\DC4 Operator key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\NUL\ENQ\DC2\EOT\135\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT3\STX\NUL\SOH\DC2\EOT\135\ETX\b\DLE\n\
    \\r\n\
    \\ENQ\EOT3\STX\NUL\ETX\DC2\EOT\135\ETX\DC3\DC4\n\
    \\GS\n\
    \\EOT\EOT3\STX\SOH\DC2\EOT\136\ETX\STX\CAN\"\SI VRF key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\SOH\ENQ\DC2\EOT\136\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT3\STX\SOH\SOH\DC2\EOT\136\ETX\b\DC3\n\
    \\r\n\
    \\ENQ\EOT3\STX\SOH\ETX\DC2\EOT\136\ETX\SYN\ETB\n\
    \\RS\n\
    \\EOT\EOT3\STX\STX\DC2\EOT\137\ETX\STX\DC4\"\DLE Pledge amount.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\STX\ACK\DC2\EOT\137\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT3\STX\STX\SOH\DC2\EOT\137\ETX\t\SI\n\
    \\r\n\
    \\ENQ\EOT3\STX\STX\ETX\DC2\EOT\137\ETX\DC2\DC3\n\
    \\SUB\n\
    \\EOT\EOT3\STX\ETX\DC2\EOT\138\ETX\STX\DC2\"\f Pool cost.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\ETX\ACK\DC2\EOT\138\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT3\STX\ETX\SOH\DC2\EOT\138\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT3\STX\ETX\ETX\DC2\EOT\138\ETX\DLE\DC1\n\
    \\FS\n\
    \\EOT\EOT3\STX\EOT\DC2\EOT\139\ETX\STX\FS\"\SO Pool margin.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\EOT\ACK\DC2\EOT\139\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT3\STX\EOT\SOH\DC2\EOT\139\ETX\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOT3\STX\EOT\ETX\DC2\EOT\139\ETX\SUB\ESC\n\
    \\US\n\
    \\EOT\EOT3\STX\ENQ\DC2\EOT\140\ETX\STX\ESC\"\DC1 Reward account.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\ENQ\ENQ\DC2\EOT\140\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT3\STX\ENQ\SOH\DC2\EOT\140\ETX\b\SYN\n\
    \\r\n\
    \\ENQ\EOT3\STX\ENQ\ETX\DC2\EOT\140\ETX\EM\SUB\n\
    \.\n\
    \\EOT\EOT3\STX\ACK\DC2\EOT\141\ETX\STX!\"  List of pool owner key hashes.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\ACK\EOT\DC2\EOT\141\ETX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\ACK\ENQ\DC2\EOT\141\ETX\v\DLE\n\
    \\r\n\
    \\ENQ\EOT3\STX\ACK\SOH\DC2\EOT\141\ETX\DC1\FS\n\
    \\r\n\
    \\ENQ\EOT3\STX\ACK\ETX\DC2\EOT\141\ETX\US \n\
    \\US\n\
    \\EOT\EOT3\STX\a\DC2\EOT\142\ETX\STX\FS\"\DC1 List of relays.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\a\EOT\DC2\EOT\142\ETX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\a\ACK\DC2\EOT\142\ETX\v\DLE\n\
    \\r\n\
    \\ENQ\EOT3\STX\a\SOH\DC2\EOT\142\ETX\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOT3\STX\a\ETX\DC2\EOT\142\ETX\SUB\ESC\n\
    \\RS\n\
    \\EOT\EOT3\STX\b\DC2\EOT\143\ETX\STX!\"\DLE Pool metadata.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\b\ACK\DC2\EOT\143\ETX\STX\SO\n\
    \\r\n\
    \\ENQ\EOT3\STX\b\SOH\DC2\EOT\143\ETX\SI\FS\n\
    \\r\n\
    \\ENQ\EOT3\STX\b\ETX\DC2\EOT\143\ETX\US \n\
    \D\n\
    \\STX\EOT4\DC2\ACK\147\ETX\NUL\150\ETX\SOH\SUB6 Represents a pool retirement certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT4\SOH\DC2\EOT\147\ETX\b\SUB\n\
    \\RS\n\
    \\EOT\EOT4\STX\NUL\DC2\EOT\148\ETX\STX\EM\"\DLE Pool key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT4\STX\NUL\ENQ\DC2\EOT\148\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT4\STX\NUL\SOH\DC2\EOT\148\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT4\STX\NUL\ETX\DC2\EOT\148\ETX\ETB\CAN\n\
    \!\n\
    \\EOT\EOT4\STX\SOH\DC2\EOT\149\ETX\STX\DC3\"\DC3 Retirement epoch.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT4\STX\SOH\ENQ\DC2\EOT\149\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT4\STX\SOH\SOH\DC2\EOT\149\ETX\t\SO\n\
    \\r\n\
    \\ENQ\EOT4\STX\SOH\ETX\DC2\EOT\149\ETX\DC1\DC2\n\
    \K\n\
    \\STX\EOT5\DC2\ACK\153\ETX\NUL\157\ETX\SOH\SUB= Represents a genesis key delegation certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT5\SOH\DC2\EOT\153\ETX\b \n\
    \\GS\n\
    \\EOT\EOT5\STX\NUL\DC2\EOT\154\ETX\STX\EM\"\SI Genesis hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT5\STX\NUL\ENQ\DC2\EOT\154\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT5\STX\NUL\SOH\DC2\EOT\154\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT5\STX\NUL\ETX\DC2\EOT\154\ETX\ETB\CAN\n\
    \&\n\
    \\EOT\EOT5\STX\SOH\DC2\EOT\155\ETX\STX\"\"\CAN Genesis delegate hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT5\STX\SOH\ENQ\DC2\EOT\155\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT5\STX\SOH\SOH\DC2\EOT\155\ETX\b\GS\n\
    \\r\n\
    \\ENQ\EOT5\STX\SOH\ETX\DC2\EOT\155\ETX !\n\
    \\GS\n\
    \\EOT\EOT5\STX\STX\DC2\EOT\156\ETX\STX\CAN\"\SI VRF key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT5\STX\STX\ENQ\DC2\EOT\156\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT5\STX\STX\SOH\DC2\EOT\156\ETX\b\DC3\n\
    \\r\n\
    \\ENQ\EOT5\STX\STX\ETX\DC2\EOT\156\ETX\SYN\ETB\n\
    \\f\n\
    \\STX\ENQ\SOH\DC2\ACK\159\ETX\NUL\163\ETX\SOH\n\
    \\v\n\
    \\ETX\ENQ\SOH\SOH\DC2\EOT\159\ETX\ENQ\SO\n\
    \\f\n\
    \\EOT\ENQ\SOH\STX\NUL\DC2\EOT\160\ETX\STX\GS\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\EOT\160\ETX\STX\CAN\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\EOT\160\ETX\ESC\FS\n\
    \\f\n\
    \\EOT\ENQ\SOH\STX\SOH\DC2\EOT\161\ETX\STX\SUB\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\EOT\161\ETX\STX\NAK\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\EOT\161\ETX\CAN\EM\n\
    \\f\n\
    \\EOT\ENQ\SOH\STX\STX\DC2\EOT\162\ETX\STX\SUB\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\STX\SOH\DC2\EOT\162\ETX\STX\NAK\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\STX\STX\DC2\EOT\162\ETX\CAN\EM\n\
    \\f\n\
    \\STX\EOT6\DC2\ACK\165\ETX\NUL\168\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT6\SOH\DC2\EOT\165\ETX\b\DC1\n\
    \\f\n\
    \\EOT\EOT6\STX\NUL\DC2\EOT\166\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT6\STX\NUL\ACK\DC2\EOT\166\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT6\STX\NUL\SOH\DC2\EOT\166\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT6\STX\NUL\ETX\DC2\EOT\166\ETX%&\n\
    \\f\n\
    \\EOT\EOT6\STX\SOH\DC2\EOT\167\ETX\STX\CAN\n\
    \\r\n\
    \\ENQ\EOT6\STX\SOH\ACK\DC2\EOT\167\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT6\STX\SOH\SOH\DC2\EOT\167\ETX\t\DC3\n\
    \\r\n\
    \\ENQ\EOT6\STX\SOH\ETX\DC2\EOT\167\ETX\SYN\ETB\n\
    \N\n\
    \\STX\EOT7\DC2\ACK\171\ETX\NUL\175\ETX\SOH\SUB@ Represents a move instantaneous reward certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT7\SOH\DC2\EOT\171\ETX\b\SI\n\
    \\f\n\
    \\EOT\EOT7\STX\NUL\DC2\EOT\172\ETX\STX\NAK\n\
    \\r\n\
    \\ENQ\EOT7\STX\NUL\ACK\DC2\EOT\172\ETX\STX\v\n\
    \\r\n\
    \\ENQ\EOT7\STX\NUL\SOH\DC2\EOT\172\ETX\f\DLE\n\
    \\r\n\
    \\ENQ\EOT7\STX\NUL\ETX\DC2\EOT\172\ETX\DC3\DC4\n\
    \\f\n\
    \\EOT\EOT7\STX\SOH\DC2\EOT\173\ETX\STX\FS\n\
    \\r\n\
    \\ENQ\EOT7\STX\SOH\EOT\DC2\EOT\173\ETX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT7\STX\SOH\ACK\DC2\EOT\173\ETX\v\DC4\n\
    \\r\n\
    \\ENQ\EOT7\STX\SOH\SOH\DC2\EOT\173\ETX\NAK\ETB\n\
    \\r\n\
    \\ENQ\EOT7\STX\SOH\ETX\DC2\EOT\173\ETX\SUB\ESC\n\
    \\f\n\
    \\EOT\EOT7\STX\STX\DC2\EOT\174\ETX\STX\ETB\n\
    \\r\n\
    \\ENQ\EOT7\STX\STX\ENQ\DC2\EOT\174\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT7\STX\STX\SOH\DC2\EOT\174\ETX\t\DC2\n\
    \\r\n\
    \\ENQ\EOT7\STX\STX\ETX\DC2\EOT\174\ETX\NAK\SYN\n\
    \\f\n\
    \\STX\EOT8\DC2\ACK\177\ETX\NUL\180\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT8\SOH\DC2\EOT\177\ETX\b\SI\n\
    \\f\n\
    \\EOT\EOT8\STX\NUL\DC2\EOT\178\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT8\STX\NUL\ACK\DC2\EOT\178\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT8\STX\NUL\SOH\DC2\EOT\178\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT8\STX\NUL\ETX\DC2\EOT\178\ETX%&\n\
    \\f\n\
    \\EOT\EOT8\STX\SOH\DC2\EOT\179\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT8\STX\SOH\ACK\DC2\EOT\179\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT8\STX\SOH\SOH\DC2\EOT\179\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT8\STX\SOH\ETX\DC2\EOT\179\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT9\DC2\ACK\182\ETX\NUL\185\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT9\SOH\DC2\EOT\182\ETX\b\DC1\n\
    \\f\n\
    \\EOT\EOT9\STX\NUL\DC2\EOT\183\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT9\STX\NUL\ACK\DC2\EOT\183\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT9\STX\NUL\SOH\DC2\EOT\183\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT9\STX\NUL\ETX\DC2\EOT\183\ETX%&\n\
    \\f\n\
    \\EOT\EOT9\STX\SOH\DC2\EOT\184\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT9\STX\SOH\ACK\DC2\EOT\184\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT9\STX\SOH\SOH\DC2\EOT\184\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT9\STX\SOH\ETX\DC2\EOT\184\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT:\DC2\ACK\187\ETX\NUL\194\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT:\SOH\DC2\EOT\187\ETX\b\f\n\
    \\SO\n\
    \\EOT\EOT:\b\NUL\DC2\ACK\188\ETX\STX\193\ETX\ETX\n\
    \\r\n\
    \\ENQ\EOT:\b\NUL\SOH\DC2\EOT\188\ETX\b\f\n\
    \ \n\
    \\EOT\EOT:\STX\NUL\DC2\EOT\189\ETX\EOT\FS\"\DC2 Address key hash\n\
    \\n\
    \\r\n\
    \\ENQ\EOT:\STX\NUL\ENQ\DC2\EOT\189\ETX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT:\STX\NUL\SOH\DC2\EOT\189\ETX\n\
    \\ETB\n\
    \\r\n\
    \\ENQ\EOT:\STX\NUL\ETX\DC2\EOT\189\ETX\SUB\ESC\n\
    \\ESC\n\
    \\EOT\EOT:\STX\SOH\DC2\EOT\190\ETX\EOT\SUB\"\r Script hash\n\
    \\n\
    \\r\n\
    \\ENQ\EOT:\STX\SOH\ENQ\DC2\EOT\190\ETX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT:\STX\SOH\SOH\DC2\EOT\190\ETX\n\
    \\NAK\n\
    \\r\n\
    \\ENQ\EOT:\STX\SOH\ETX\DC2\EOT\190\ETX\CAN\EM\n\
    \\ETB\n\
    \\EOT\EOT:\STX\STX\DC2\EOT\191\ETX\EOT\NAK\"\t Abstain\n\
    \\n\
    \\r\n\
    \\ENQ\EOT:\STX\STX\ENQ\DC2\EOT\191\ETX\EOT\b\n\
    \\r\n\
    \\ENQ\EOT:\STX\STX\SOH\DC2\EOT\191\ETX\t\DLE\n\
    \\r\n\
    \\ENQ\EOT:\STX\STX\ETX\DC2\EOT\191\ETX\DC3\DC4\n\
    \\GS\n\
    \\EOT\EOT:\STX\ETX\DC2\EOT\192\ETX\EOT\ESC\"\SI No confidence\n\
    \\n\
    \\r\n\
    \\ENQ\EOT:\STX\ETX\ENQ\DC2\EOT\192\ETX\EOT\b\n\
    \\r\n\
    \\ENQ\EOT:\STX\ETX\SOH\DC2\EOT\192\ETX\t\SYN\n\
    \\r\n\
    \\ENQ\EOT:\STX\ETX\ETX\DC2\EOT\192\ETX\EM\SUB\n\
    \\f\n\
    \\STX\EOT;\DC2\ACK\196\ETX\NUL\199\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT;\SOH\DC2\EOT\196\ETX\b\NAK\n\
    \\f\n\
    \\EOT\EOT;\STX\NUL\DC2\EOT\197\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT;\STX\NUL\ACK\DC2\EOT\197\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT;\STX\NUL\SOH\DC2\EOT\197\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT;\STX\NUL\ETX\DC2\EOT\197\ETX%&\n\
    \\f\n\
    \\EOT\EOT;\STX\SOH\DC2\EOT\198\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT;\STX\SOH\ACK\DC2\EOT\198\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT;\STX\SOH\SOH\DC2\EOT\198\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT;\STX\SOH\ETX\DC2\EOT\198\ETX\SO\SI\n\
    \\f\n\
    \\STX\EOT<\DC2\ACK\201\ETX\NUL\205\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT<\SOH\DC2\EOT\201\ETX\b\SUB\n\
    \\f\n\
    \\EOT\EOT<\STX\NUL\DC2\EOT\202\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT<\STX\NUL\ACK\DC2\EOT\202\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT<\STX\NUL\SOH\DC2\EOT\202\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT<\STX\NUL\ETX\DC2\EOT\202\ETX%&\n\
    \\f\n\
    \\EOT\EOT<\STX\SOH\DC2\EOT\203\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT<\STX\SOH\ENQ\DC2\EOT\203\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT<\STX\SOH\SOH\DC2\EOT\203\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT<\STX\SOH\ETX\DC2\EOT\203\ETX\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT<\STX\STX\DC2\EOT\204\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT<\STX\STX\ACK\DC2\EOT\204\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT<\STX\STX\SOH\DC2\EOT\204\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT<\STX\STX\ETX\DC2\EOT\204\ETX\SO\SI\n\
    \\f\n\
    \\STX\EOT=\DC2\ACK\207\ETX\NUL\211\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT=\SOH\DC2\EOT\207\ETX\b\EM\n\
    \\f\n\
    \\EOT\EOT=\STX\NUL\DC2\EOT\208\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT=\STX\NUL\ACK\DC2\EOT\208\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT=\STX\NUL\SOH\DC2\EOT\208\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT=\STX\NUL\ETX\DC2\EOT\208\ETX%&\n\
    \\f\n\
    \\EOT\EOT=\STX\SOH\DC2\EOT\209\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT=\STX\SOH\ENQ\DC2\EOT\209\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT=\STX\SOH\SOH\DC2\EOT\209\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT=\STX\SOH\ETX\DC2\EOT\209\ETX\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT=\STX\STX\DC2\EOT\210\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT=\STX\STX\ACK\DC2\EOT\210\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT=\STX\STX\SOH\DC2\EOT\210\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT=\STX\STX\ETX\DC2\EOT\210\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT>\DC2\ACK\213\ETX\NUL\217\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT>\SOH\DC2\EOT\213\ETX\b\CAN\n\
    \\f\n\
    \\EOT\EOT>\STX\NUL\DC2\EOT\214\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT>\STX\NUL\ACK\DC2\EOT\214\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT>\STX\NUL\SOH\DC2\EOT\214\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT>\STX\NUL\ETX\DC2\EOT\214\ETX%&\n\
    \\f\n\
    \\EOT\EOT>\STX\SOH\DC2\EOT\215\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT>\STX\SOH\ACK\DC2\EOT\215\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT>\STX\SOH\SOH\DC2\EOT\215\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT>\STX\SOH\ETX\DC2\EOT\215\ETX\SO\SI\n\
    \\f\n\
    \\EOT\EOT>\STX\STX\DC2\EOT\216\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT>\STX\STX\ACK\DC2\EOT\216\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT>\STX\STX\SOH\DC2\EOT\216\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT>\STX\STX\ETX\DC2\EOT\216\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT?\DC2\ACK\219\ETX\NUL\224\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT?\SOH\DC2\EOT\219\ETX\b\GS\n\
    \\f\n\
    \\EOT\EOT?\STX\NUL\DC2\EOT\220\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT?\STX\NUL\ACK\DC2\EOT\220\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT?\STX\NUL\SOH\DC2\EOT\220\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT?\STX\NUL\ETX\DC2\EOT\220\ETX%&\n\
    \\f\n\
    \\EOT\EOT?\STX\SOH\DC2\EOT\221\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT?\STX\SOH\ENQ\DC2\EOT\221\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT?\STX\SOH\SOH\DC2\EOT\221\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT?\STX\SOH\ETX\DC2\EOT\221\ETX\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT?\STX\STX\DC2\EOT\222\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT?\STX\STX\ACK\DC2\EOT\222\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT?\STX\STX\SOH\DC2\EOT\222\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT?\STX\STX\ETX\DC2\EOT\222\ETX\SO\SI\n\
    \\f\n\
    \\EOT\EOT?\STX\ETX\DC2\EOT\223\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT?\STX\ETX\ACK\DC2\EOT\223\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT?\STX\ETX\SOH\DC2\EOT\223\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT?\STX\ETX\ETX\DC2\EOT\223\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT@\DC2\ACK\226\ETX\NUL\229\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT@\SOH\DC2\EOT\226\ETX\b\FS\n\
    \\f\n\
    \\EOT\EOT@\STX\NUL\DC2\EOT\227\ETX\STX0\n\
    \\r\n\
    \\ENQ\EOT@\STX\NUL\ACK\DC2\EOT\227\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT@\STX\NUL\SOH\DC2\EOT\227\ETX\DC2+\n\
    \\r\n\
    \\ENQ\EOT@\STX\NUL\ETX\DC2\EOT\227\ETX./\n\
    \\f\n\
    \\EOT\EOT@\STX\SOH\DC2\EOT\228\ETX\STX/\n\
    \\r\n\
    \\ENQ\EOT@\STX\SOH\ACK\DC2\EOT\228\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT@\STX\SOH\SOH\DC2\EOT\228\ETX\DC2*\n\
    \\r\n\
    \\ENQ\EOT@\STX\SOH\ETX\DC2\EOT\228\ETX-.\n\
    \\f\n\
    \\STX\EOTA\DC2\ACK\231\ETX\NUL\234\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTA\SOH\DC2\EOT\231\ETX\b\SO\n\
    \\f\n\
    \\EOT\EOTA\STX\NUL\DC2\EOT\232\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTA\STX\NUL\ENQ\DC2\EOT\232\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTA\STX\NUL\SOH\DC2\EOT\232\ETX\t\f\n\
    \\r\n\
    \\ENQ\EOTA\STX\NUL\ETX\DC2\EOT\232\ETX\SI\DLE\n\
    \\f\n\
    \\EOT\EOTA\STX\SOH\DC2\EOT\233\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOTA\STX\SOH\ENQ\DC2\EOT\233\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOTA\STX\SOH\SOH\DC2\EOT\233\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOTA\STX\SOH\ETX\DC2\EOT\233\ETX\ETB\CAN\n\
    \\f\n\
    \\STX\EOTB\DC2\ACK\236\ETX\NUL\239\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTB\SOH\DC2\EOT\236\ETX\b\US\n\
    \\f\n\
    \\EOT\EOTB\STX\NUL\DC2\EOT\237\ETX\STX0\n\
    \\r\n\
    \\ENQ\EOTB\STX\NUL\ACK\DC2\EOT\237\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTB\STX\NUL\SOH\DC2\EOT\237\ETX\DC2+\n\
    \\r\n\
    \\ENQ\EOTB\STX\NUL\ETX\DC2\EOT\237\ETX./\n\
    \\f\n\
    \\EOT\EOTB\STX\SOH\DC2\EOT\238\ETX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTB\STX\SOH\ACK\DC2\EOT\238\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTB\STX\SOH\SOH\DC2\EOT\238\ETX\t\SI\n\
    \\r\n\
    \\ENQ\EOTB\STX\SOH\ETX\DC2\EOT\238\ETX\DC2\DC3\n\
    \\f\n\
    \\STX\EOTC\DC2\ACK\241\ETX\NUL\245\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTC\SOH\DC2\EOT\241\ETX\b\DC3\n\
    \\f\n\
    \\EOT\EOTC\STX\NUL\DC2\EOT\242\ETX\STX&\n\
    \\r\n\
    \\ENQ\EOTC\STX\NUL\ACK\DC2\EOT\242\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTC\STX\NUL\SOH\DC2\EOT\242\ETX\DC2!\n\
    \\r\n\
    \\ENQ\EOTC\STX\NUL\ETX\DC2\EOT\242\ETX$%\n\
    \\f\n\
    \\EOT\EOTC\STX\SOH\DC2\EOT\243\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTC\STX\SOH\ACK\DC2\EOT\243\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTC\STX\SOH\SOH\DC2\EOT\243\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOTC\STX\SOH\ETX\DC2\EOT\243\ETX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOTC\STX\STX\DC2\EOT\244\ETX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTC\STX\STX\ACK\DC2\EOT\244\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTC\STX\STX\SOH\DC2\EOT\244\ETX\t\SI\n\
    \\r\n\
    \\ENQ\EOTC\STX\STX\ETX\DC2\EOT\244\ETX\DC2\DC3\n\
    \\f\n\
    \\STX\EOTD\DC2\ACK\247\ETX\NUL\250\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTD\SOH\DC2\EOT\247\ETX\b\NAK\n\
    \\f\n\
    \\EOT\EOTD\STX\NUL\DC2\EOT\248\ETX\STX&\n\
    \\r\n\
    \\ENQ\EOTD\STX\NUL\ACK\DC2\EOT\248\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTD\STX\NUL\SOH\DC2\EOT\248\ETX\DC2!\n\
    \\r\n\
    \\ENQ\EOTD\STX\NUL\ETX\DC2\EOT\248\ETX$%\n\
    \\f\n\
    \\EOT\EOTD\STX\SOH\DC2\EOT\249\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTD\STX\SOH\ACK\DC2\EOT\249\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTD\STX\SOH\SOH\DC2\EOT\249\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOTD\STX\SOH\ETX\DC2\EOT\249\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOTE\DC2\ACK\252\ETX\NUL\255\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTE\SOH\DC2\EOT\252\ETX\b\SYN\n\
    \\f\n\
    \\EOT\EOTE\STX\NUL\DC2\EOT\253\ETX\STX&\n\
    \\r\n\
    \\ENQ\EOTE\STX\NUL\ACK\DC2\EOT\253\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTE\STX\NUL\SOH\DC2\EOT\253\ETX\DC2!\n\
    \\r\n\
    \\ENQ\EOTE\STX\NUL\ETX\DC2\EOT\253\ETX$%\n\
    \\f\n\
    \\EOT\EOTE\STX\SOH\DC2\EOT\254\ETX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTE\STX\SOH\ACK\DC2\EOT\254\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTE\STX\SOH\SOH\DC2\EOT\254\ETX\t\SI\n\
    \\r\n\
    \\ENQ\EOTE\STX\SOH\ETX\DC2\EOT\254\ETX\DC2\DC3\n\
    \}\n\
    \\STX\EOTF\DC2\ACK\133\EOT\NUL\137\EOT\SOH\SUBI Pattern of an address that can be used to evaluate matching predicates.\n\
    \2$ PATTERN MATCHING\n\
    \ ================\n\
    \\n\
    \\v\n\
    \\ETX\EOTF\SOH\DC2\EOT\133\EOT\b\SYN\n\
    \B\n\
    \\EOT\EOTF\STX\NUL\DC2\EOT\134\EOT\STX#\"4 The address should match this exact address value.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\NUL\EOT\DC2\EOT\134\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\NUL\ENQ\DC2\EOT\134\EOT\v\DLE\n\
    \\r\n\
    \\ENQ\EOTF\STX\NUL\SOH\DC2\EOT\134\EOT\DC1\RS\n\
    \\r\n\
    \\ENQ\EOTF\STX\NUL\ETX\DC2\EOT\134\EOT!\"\n\
    \H\n\
    \\EOT\EOTF\STX\SOH\DC2\EOT\135\EOT\STX\"\": The payment part of the address should match this value.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\SOH\EOT\DC2\EOT\135\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\SOH\ENQ\DC2\EOT\135\EOT\v\DLE\n\
    \\r\n\
    \\ENQ\EOTF\STX\SOH\SOH\DC2\EOT\135\EOT\DC1\GS\n\
    \\r\n\
    \\ENQ\EOTF\STX\SOH\ETX\DC2\EOT\135\EOT !\n\
    \K\n\
    \\EOT\EOTF\STX\STX\DC2\EOT\136\EOT\STX%\"= The delegation part of the address should match this value.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\STX\EOT\DC2\EOT\136\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\STX\ENQ\DC2\EOT\136\EOT\v\DLE\n\
    \\r\n\
    \\ENQ\EOTF\STX\STX\SOH\DC2\EOT\136\EOT\DC1 \n\
    \\r\n\
    \\ENQ\EOTF\STX\STX\ETX\DC2\EOT\136\EOT#$\n\
    \[\n\
    \\STX\EOTG\DC2\ACK\140\EOT\NUL\143\EOT\SOH\SUBM Pattern of a native asset that can be used to evaluate matching predicates.\n\
    \\n\
    \\v\n\
    \\ETX\EOTG\SOH\DC2\EOT\140\EOT\b\DC4\n\
    \9\n\
    \\EOT\EOTG\STX\NUL\DC2\EOT\141\EOT\STX\US\"+ The asset should belong to this policy id\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\NUL\EOT\DC2\EOT\141\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\NUL\ENQ\DC2\EOT\141\EOT\v\DLE\n\
    \\r\n\
    \\ENQ\EOTG\STX\NUL\SOH\DC2\EOT\141\EOT\DC1\SUB\n\
    \\r\n\
    \\ENQ\EOTG\STX\NUL\ETX\DC2\EOT\141\EOT\GS\RS\n\
    \2\n\
    \\EOT\EOTG\STX\SOH\DC2\EOT\142\EOT\STX \"$ The asset should present this name\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\SOH\EOT\DC2\EOT\142\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\SOH\ENQ\DC2\EOT\142\EOT\v\DLE\n\
    \\r\n\
    \\ENQ\EOTG\STX\SOH\SOH\DC2\EOT\142\EOT\DC1\ESC\n\
    \\r\n\
    \\ENQ\EOTG\STX\SOH\ETX\DC2\EOT\142\EOT\RS\US\n\
    \Z\n\
    \\STX\EOTH\DC2\ACK\146\EOT\NUL\157\EOT\SOH\SUBL Pattern of a certificate that can be used to evaluate matching predicates.\n\
    \\n\
    \\v\n\
    \\ETX\EOTH\SOH\DC2\EOT\146\EOT\b\SUB\n\
    \\SO\n\
    \\EOT\EOTH\b\NUL\DC2\ACK\147\EOT\STX\156\EOT\ETX\n\
    \\r\n\
    \\ENQ\EOTH\b\NUL\SOH\DC2\EOT\147\EOT\b\CAN\n\
    \<\n\
    \\EOT\EOTH\STX\NUL\DC2\EOT\148\EOT\EOT+\". Match stake registration for this credential\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\NUL\ACK\DC2\EOT\148\EOT\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOTH\STX\NUL\SOH\DC2\EOT\148\EOT\DC4&\n\
    \\r\n\
    \\ENQ\EOTH\STX\NUL\ETX\DC2\EOT\148\EOT)*\n\
    \>\n\
    \\EOT\EOTH\STX\SOH\DC2\EOT\149\EOT\EOT-\"0 Match stake deregistration for this credential\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\SOH\ACK\DC2\EOT\149\EOT\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOTH\STX\SOH\SOH\DC2\EOT\149\EOT\DC4(\n\
    \\r\n\
    \\ENQ\EOTH\STX\SOH\ETX\DC2\EOT\149\EOT+,\n\
    \.\n\
    \\EOT\EOTH\STX\STX\DC2\EOT\150\EOT\EOT0\"  Match stake delegation pattern\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\STX\ACK\DC2\EOT\150\EOT\EOT\SUB\n\
    \\r\n\
    \\ENQ\EOTH\STX\STX\SOH\DC2\EOT\150\EOT\ESC+\n\
    \\r\n\
    \\ENQ\EOTH\STX\STX\ETX\DC2\EOT\150\EOT./\n\
    \/\n\
    \\EOT\EOTH\STX\ETX\DC2\EOT\151\EOT\EOT2\"! Match pool registration pattern\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\ETX\ACK\DC2\EOT\151\EOT\EOT\ESC\n\
    \\r\n\
    \\ENQ\EOTH\STX\ETX\SOH\DC2\EOT\151\EOT\FS-\n\
    \\r\n\
    \\ENQ\EOTH\STX\ETX\ETX\DC2\EOT\151\EOT01\n\
    \-\n\
    \\EOT\EOTH\STX\EOT\DC2\EOT\152\EOT\EOT.\"\US Match pool retirement pattern\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\EOT\ACK\DC2\EOT\152\EOT\EOT\EM\n\
    \\r\n\
    \\ENQ\EOTH\STX\EOT\SOH\DC2\EOT\152\EOT\SUB)\n\
    \\r\n\
    \\ENQ\EOTH\STX\EOT\ETX\DC2\EOT\152\EOT,-\n\
    \E\n\
    \\EOT\EOTH\STX\ENQ\DC2\EOT\153\EOT\EOT#\"7 Match any certificate involving this stake credential\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\ENQ\ENQ\DC2\EOT\153\EOT\EOT\t\n\
    \\r\n\
    \\ENQ\EOTH\STX\ENQ\SOH\DC2\EOT\153\EOT\n\
    \\RS\n\
    \\r\n\
    \\ENQ\EOTH\STX\ENQ\ETX\DC2\EOT\153\EOT!\"\n\
    \9\n\
    \\EOT\EOTH\STX\ACK\DC2\EOT\154\EOT\EOT\US\"+ Match any certificate involving this pool\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\ACK\ENQ\DC2\EOT\154\EOT\EOT\t\n\
    \\r\n\
    \\ENQ\EOTH\STX\ACK\SOH\DC2\EOT\154\EOT\n\
    \\SUB\n\
    \\r\n\
    \\ENQ\EOTH\STX\ACK\ETX\DC2\EOT\154\EOT\GS\RS\n\
    \9\n\
    \\EOT\EOTH\STX\a\DC2\EOT\155\EOT\EOT\ETB\"+ Match any certificate involving this DRep\n\
    \\n\
    \\r\n\
    \\ENQ\EOTH\STX\a\ENQ\DC2\EOT\155\EOT\EOT\t\n\
    \\r\n\
    \\ENQ\EOTH\STX\a\SOH\DC2\EOT\155\EOT\n\
    \\DC2\n\
    \\r\n\
    \\ENQ\EOTH\STX\a\ETX\DC2\EOT\155\EOT\NAK\SYN\n\
    \9\n\
    \\STX\EOTI\DC2\ACK\160\EOT\NUL\163\EOT\SOH\SUB+ Pattern for stake delegation certificates\n\
    \\n\
    \\v\n\
    \\ETX\EOTI\SOH\DC2\EOT\160\EOT\b\RS\n\
    \6\n\
    \\EOT\EOTI\STX\NUL\DC2\EOT\161\EOT\STX'\"( Match delegations from this credential\n\
    \\n\
    \\r\n\
    \\ENQ\EOTI\STX\NUL\ACK\DC2\EOT\161\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTI\STX\NUL\SOH\DC2\EOT\161\EOT\DC2\"\n\
    \\r\n\
    \\ENQ\EOTI\STX\NUL\ETX\DC2\EOT\161\EOT%&\n\
    \.\n\
    \\EOT\EOTI\STX\SOH\DC2\EOT\162\EOT\STX\EM\"  Match delegations to this pool\n\
    \\n\
    \\r\n\
    \\ENQ\EOTI\STX\SOH\ENQ\DC2\EOT\162\EOT\STX\a\n\
    \\r\n\
    \\ENQ\EOTI\STX\SOH\SOH\DC2\EOT\162\EOT\b\DC4\n\
    \\r\n\
    \\ENQ\EOTI\STX\SOH\ETX\DC2\EOT\162\EOT\ETB\CAN\n\
    \:\n\
    \\STX\EOTJ\DC2\ACK\166\EOT\NUL\169\EOT\SOH\SUB, Pattern for pool registration certificates\n\
    \\n\
    \\v\n\
    \\ETX\EOTJ\SOH\DC2\EOT\166\EOT\b\US\n\
    \4\n\
    \\EOT\EOTJ\STX\NUL\DC2\EOT\167\EOT\STX\NAK\"& Match registrations by this operator\n\
    \\n\
    \\r\n\
    \\ENQ\EOTJ\STX\NUL\ENQ\DC2\EOT\167\EOT\STX\a\n\
    \\r\n\
    \\ENQ\EOTJ\STX\NUL\SOH\DC2\EOT\167\EOT\b\DLE\n\
    \\r\n\
    \\ENQ\EOTJ\STX\NUL\ETX\DC2\EOT\167\EOT\DC3\DC4\n\
    \I\n\
    \\EOT\EOTJ\STX\SOH\DC2\EOT\168\EOT\STX\EM\"; Match registrations for this pool (derived from operator)\n\
    \\n\
    \\r\n\
    \\ENQ\EOTJ\STX\SOH\ENQ\DC2\EOT\168\EOT\STX\a\n\
    \\r\n\
    \\ENQ\EOTJ\STX\SOH\SOH\DC2\EOT\168\EOT\b\DC4\n\
    \\r\n\
    \\ENQ\EOTJ\STX\SOH\ETX\DC2\EOT\168\EOT\ETB\CAN\n\
    \8\n\
    \\STX\EOTK\DC2\ACK\172\EOT\NUL\175\EOT\SOH\SUB* Pattern for pool retirement certificates\n\
    \\n\
    \\v\n\
    \\ETX\EOTK\SOH\DC2\EOT\172\EOT\b\GS\n\
    \.\n\
    \\EOT\EOTK\STX\NUL\DC2\EOT\173\EOT\STX\EM\"  Match retirements of this pool\n\
    \\n\
    \\r\n\
    \\ENQ\EOTK\STX\NUL\ENQ\DC2\EOT\173\EOT\STX\a\n\
    \\r\n\
    \\ENQ\EOTK\STX\NUL\SOH\DC2\EOT\173\EOT\b\DC4\n\
    \\r\n\
    \\ENQ\EOTK\STX\NUL\ETX\DC2\EOT\173\EOT\ETB\CAN\n\
    \/\n\
    \\EOT\EOTK\STX\SOH\DC2\EOT\174\EOT\STX\DC3\"! Match retirements in this epoch\n\
    \\n\
    \\r\n\
    \\ENQ\EOTK\STX\SOH\ENQ\DC2\EOT\174\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTK\STX\SOH\SOH\DC2\EOT\174\EOT\t\SO\n\
    \\r\n\
    \\ENQ\EOTK\STX\SOH\ETX\DC2\EOT\174\EOT\DC1\DC2\n\
    \X\n\
    \\STX\EOTL\DC2\ACK\178\EOT\NUL\181\EOT\SOH\SUBJ Pattern of a tx output that can be used to evaluate matching predicates.\n\
    \\n\
    \\v\n\
    \\ETX\EOTL\SOH\DC2\EOT\178\EOT\b\ETB\n\
    \K\n\
    \\EOT\EOTL\STX\NUL\DC2\EOT\179\EOT\STX&\"= Match any address in the output that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTL\STX\NUL\EOT\DC2\EOT\179\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTL\STX\NUL\ACK\DC2\EOT\179\EOT\v\EM\n\
    \\r\n\
    \\ENQ\EOTL\STX\NUL\SOH\DC2\EOT\179\EOT\SUB!\n\
    \\r\n\
    \\ENQ\EOTL\STX\NUL\ETX\DC2\EOT\179\EOT$%\n\
    \I\n\
    \\EOT\EOTL\STX\SOH\DC2\EOT\180\EOT\STX\"\"; Match any asset in the output that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTL\STX\SOH\EOT\DC2\EOT\180\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTL\STX\SOH\ACK\DC2\EOT\180\EOT\v\ETB\n\
    \\r\n\
    \\ENQ\EOTL\STX\SOH\SOH\DC2\EOT\180\EOT\CAN\GS\n\
    \\r\n\
    \\ENQ\EOTL\STX\SOH\ETX\DC2\EOT\180\EOT !\n\
    \Q\n\
    \\STX\EOTM\DC2\ACK\184\EOT\NUL\191\EOT\SOH\SUBC Pattern of a Tx that can be used to evaluate matching predicates.\n\
    \\n\
    \\v\n\
    \\ETX\EOTM\SOH\DC2\EOT\184\EOT\b\DC1\n\
    \;\n\
    \\EOT\EOTM\STX\NUL\DC2\EOT\185\EOT\STX\US\"- Match any input that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTM\STX\NUL\ACK\DC2\EOT\185\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTM\STX\NUL\SOH\DC2\EOT\185\EOT\DC2\SUB\n\
    \\r\n\
    \\ENQ\EOTM\STX\NUL\ETX\DC2\EOT\185\EOT\GS\RS\n\
    \<\n\
    \\EOT\EOTM\STX\SOH\DC2\EOT\186\EOT\STX\US\". Match any output that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTM\STX\SOH\ACK\DC2\EOT\186\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTM\STX\SOH\SOH\DC2\EOT\186\EOT\DC2\SUB\n\
    \\r\n\
    \\ENQ\EOTM\STX\SOH\ETX\DC2\EOT\186\EOT\GS\RS\n\
    \`\n\
    \\EOT\EOTM\STX\STX\DC2\EOT\187\EOT\STX!\"R Match any address (inputs, outputs, collateral, etc) that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTM\STX\STX\ACK\DC2\EOT\187\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTM\STX\STX\SOH\DC2\EOT\187\EOT\DC1\FS\n\
    \\r\n\
    \\ENQ\EOTM\STX\STX\ETX\DC2\EOT\187\EOT\US \n\
    \;\n\
    \\EOT\EOTM\STX\ETX\DC2\EOT\188\EOT\STX\US\"- Match any asset that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTM\STX\ETX\ACK\DC2\EOT\188\EOT\STX\SO\n\
    \\r\n\
    \\ENQ\EOTM\STX\ETX\SOH\DC2\EOT\188\EOT\SI\SUB\n\
    \\r\n\
    \\ENQ\EOTM\STX\ETX\ETX\DC2\EOT\188\EOT\GS\RS\n\
    \L\n\
    \\EOT\EOTM\STX\EOT\DC2\EOT\189\EOT\STX\US\"> Match any tx that either mint or burn the the asset pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTM\STX\EOT\ACK\DC2\EOT\189\EOT\STX\SO\n\
    \\r\n\
    \\ENQ\EOTM\STX\EOT\SOH\DC2\EOT\189\EOT\SI\SUB\n\
    \\r\n\
    \\ENQ\EOTM\STX\EOT\ETX\DC2\EOT\189\EOT\GS\RS\n\
    \M\n\
    \\EOT\EOTM\STX\ENQ\DC2\EOT\190\EOT\STX)\"? Match any transaction that includes this certificate pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTM\STX\ENQ\ACK\DC2\EOT\190\EOT\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTM\STX\ENQ\SOH\DC2\EOT\190\EOT\NAK$\n\
    \\r\n\
    \\ENQ\EOTM\STX\ENQ\ETX\DC2\EOT\190\EOT'(\n\
    \\RS\n\
    \\STX\EOTN\DC2\ACK\196\EOT\NUL\199\EOT\SOH2\DLE PARAMS\n\
    \ ======\n\
    \\n\
    \\v\n\
    \\ETX\EOTN\SOH\DC2\EOT\196\EOT\b\SI\n\
    \\f\n\
    \\EOT\EOTN\STX\NUL\DC2\EOT\197\EOT\STX\DC3\n\
    \\r\n\
    \\ENQ\EOTN\STX\NUL\ENQ\DC2\EOT\197\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\NUL\SOH\DC2\EOT\197\EOT\t\SO\n\
    \\r\n\
    \\ENQ\EOTN\STX\NUL\ETX\DC2\EOT\197\EOT\DC1\DC2\n\
    \\f\n\
    \\EOT\EOTN\STX\SOH\DC2\EOT\198\EOT\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTN\STX\SOH\ENQ\DC2\EOT\198\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\SOH\SOH\DC2\EOT\198\EOT\t\SI\n\
    \\r\n\
    \\ENQ\EOTN\STX\SOH\ETX\DC2\EOT\198\EOT\DC2\DC3\n\
    \\f\n\
    \\STX\EOTO\DC2\ACK\201\EOT\NUL\204\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTO\SOH\DC2\EOT\201\EOT\b\DLE\n\
    \\f\n\
    \\EOT\EOTO\STX\NUL\DC2\EOT\202\EOT\STX\ESC\n\
    \\r\n\
    \\ENQ\EOTO\STX\NUL\ACK\DC2\EOT\202\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTO\STX\NUL\SOH\DC2\EOT\202\EOT\DC1\SYN\n\
    \\r\n\
    \\ENQ\EOTO\STX\NUL\ETX\DC2\EOT\202\EOT\EM\SUB\n\
    \\f\n\
    \\EOT\EOTO\STX\SOH\DC2\EOT\203\EOT\STX\FS\n\
    \\r\n\
    \\ENQ\EOTO\STX\SOH\ACK\DC2\EOT\203\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTO\STX\SOH\SOH\DC2\EOT\203\EOT\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOTO\STX\SOH\ETX\DC2\EOT\203\EOT\SUB\ESC\n\
    \\f\n\
    \\STX\EOTP\DC2\ACK\206\EOT\NUL\209\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTP\SOH\DC2\EOT\206\EOT\b\ETB\n\
    \\f\n\
    \\EOT\EOTP\STX\NUL\DC2\EOT\207\EOT\STX\DC3\n\
    \\r\n\
    \\ENQ\EOTP\STX\NUL\ENQ\DC2\EOT\207\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTP\STX\NUL\SOH\DC2\EOT\207\EOT\t\SO\n\
    \\r\n\
    \\ENQ\EOTP\STX\NUL\ETX\DC2\EOT\207\EOT\DC1\DC2\n\
    \\f\n\
    \\EOT\EOTP\STX\SOH\DC2\EOT\208\EOT\STX\DC3\n\
    \\r\n\
    \\ENQ\EOTP\STX\SOH\ENQ\DC2\EOT\208\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTP\STX\SOH\SOH\DC2\EOT\208\EOT\t\SO\n\
    \\r\n\
    \\ENQ\EOTP\STX\SOH\ETX\DC2\EOT\208\EOT\DC1\DC2\n\
    \\f\n\
    \\STX\EOTQ\DC2\ACK\211\EOT\NUL\213\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTQ\SOH\DC2\EOT\211\EOT\b\DC1\n\
    \\f\n\
    \\EOT\EOTQ\STX\NUL\DC2\EOT\212\EOT\STX\FS\n\
    \\r\n\
    \\ENQ\EOTQ\STX\NUL\EOT\DC2\EOT\212\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTQ\STX\NUL\ENQ\DC2\EOT\212\EOT\v\DLE\n\
    \\r\n\
    \\ENQ\EOTQ\STX\NUL\SOH\DC2\EOT\212\EOT\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOTQ\STX\NUL\ETX\DC2\EOT\212\EOT\SUB\ESC\n\
    \\f\n\
    \\STX\EOTR\DC2\ACK\215\EOT\NUL\220\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTR\SOH\DC2\EOT\215\EOT\b\DC2\n\
    \\f\n\
    \\EOT\EOTR\STX\NUL\DC2\EOT\216\EOT\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTR\STX\NUL\ACK\DC2\EOT\216\EOT\STX\v\n\
    \\r\n\
    \\ENQ\EOTR\STX\NUL\SOH\DC2\EOT\216\EOT\f\NAK\n\
    \\r\n\
    \\ENQ\EOTR\STX\NUL\ETX\DC2\EOT\216\EOT\CAN\EM\n\
    \\f\n\
    \\EOT\EOTR\STX\SOH\DC2\EOT\217\EOT\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTR\STX\SOH\ACK\DC2\EOT\217\EOT\STX\v\n\
    \\r\n\
    \\ENQ\EOTR\STX\SOH\SOH\DC2\EOT\217\EOT\f\NAK\n\
    \\r\n\
    \\ENQ\EOTR\STX\SOH\ETX\DC2\EOT\217\EOT\CAN\EM\n\
    \\f\n\
    \\EOT\EOTR\STX\STX\DC2\EOT\218\EOT\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTR\STX\STX\ACK\DC2\EOT\218\EOT\STX\v\n\
    \\r\n\
    \\ENQ\EOTR\STX\STX\SOH\DC2\EOT\218\EOT\f\NAK\n\
    \\r\n\
    \\ENQ\EOTR\STX\STX\ETX\DC2\EOT\218\EOT\CAN\EM\n\
    \\f\n\
    \\EOT\EOTR\STX\ETX\DC2\EOT\219\EOT\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTR\STX\ETX\ACK\DC2\EOT\219\EOT\STX\v\n\
    \\r\n\
    \\ENQ\EOTR\STX\ETX\SOH\DC2\EOT\219\EOT\f\NAK\n\
    \\r\n\
    \\ENQ\EOTR\STX\ETX\ETX\DC2\EOT\219\EOT\CAN\EM\n\
    \\f\n\
    \\STX\EOTS\DC2\ACK\222\EOT\NUL\224\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTS\SOH\DC2\EOT\222\EOT\b\CAN\n\
    \\f\n\
    \\EOT\EOTS\STX\NUL\DC2\EOT\223\EOT\STX)\n\
    \\r\n\
    \\ENQ\EOTS\STX\NUL\EOT\DC2\EOT\223\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTS\STX\NUL\ACK\DC2\EOT\223\EOT\v\EM\n\
    \\r\n\
    \\ENQ\EOTS\STX\NUL\SOH\DC2\EOT\223\EOT\SUB$\n\
    \\r\n\
    \\ENQ\EOTS\STX\NUL\ETX\DC2\EOT\223\EOT'(\n\
    \\f\n\
    \\STX\EOTT\DC2\ACK\226\EOT\NUL\130\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOTT\SOH\DC2\EOT\226\EOT\b\SI\n\
    \2\n\
    \\EOT\EOTT\STX\NUL\DC2\EOT\227\EOT\STX!\"$ The number of coins per UTXO byte.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\NUL\ACK\DC2\EOT\227\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\NUL\SOH\DC2\EOT\227\EOT\t\FS\n\
    \\r\n\
    \\ENQ\EOTT\STX\NUL\ETX\DC2\EOT\227\EOT\US \n\
    \-\n\
    \\EOT\EOTT\STX\SOH\DC2\EOT\228\EOT\STX\EM\"\US The maximum transaction size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\SOH\ENQ\DC2\EOT\228\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\SOH\SOH\DC2\EOT\228\EOT\t\DC4\n\
    \\r\n\
    \\ENQ\EOTT\STX\SOH\ETX\DC2\EOT\228\EOT\ETB\CAN\n\
    \,\n\
    \\EOT\EOTT\STX\STX\DC2\EOT\229\EOT\STX!\"\RS The minimum fee coefficient.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\STX\ACK\DC2\EOT\229\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\STX\SOH\DC2\EOT\229\EOT\t\FS\n\
    \\r\n\
    \\ENQ\EOTT\STX\STX\ETX\DC2\EOT\229\EOT\US \n\
    \)\n\
    \\EOT\EOTT\STX\ETX\DC2\EOT\230\EOT\STX\RS\"\ESC The minimum fee constant.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\ETX\ACK\DC2\EOT\230\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\ETX\SOH\DC2\EOT\230\EOT\t\EM\n\
    \\r\n\
    \\ENQ\EOTT\STX\ETX\ETX\DC2\EOT\230\EOT\FS\GS\n\
    \,\n\
    \\EOT\EOTT\STX\EOT\DC2\EOT\231\EOT\STX!\"\RS The maximum block body size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\EOT\ENQ\DC2\EOT\231\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\EOT\SOH\DC2\EOT\231\EOT\t\FS\n\
    \\r\n\
    \\ENQ\EOTT\STX\EOT\ETX\DC2\EOT\231\EOT\US \n\
    \.\n\
    \\EOT\EOTT\STX\ENQ\DC2\EOT\232\EOT\STX#\"  The maximum block header size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\ENQ\ENQ\DC2\EOT\232\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\ENQ\SOH\DC2\EOT\232\EOT\t\RS\n\
    \\r\n\
    \\ENQ\EOTT\STX\ENQ\ETX\DC2\EOT\232\EOT!\"\n\
    \&\n\
    \\EOT\EOTT\STX\ACK\DC2\EOT\233\EOT\STX\US\"\CAN The stake key deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\ACK\ACK\DC2\EOT\233\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\ACK\SOH\DC2\EOT\233\EOT\t\SUB\n\
    \\r\n\
    \\ENQ\EOTT\STX\ACK\ETX\DC2\EOT\233\EOT\GS\RS\n\
    \!\n\
    \\EOT\EOTT\STX\a\DC2\EOT\234\EOT\STX\SUB\"\DC3 The pool deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\a\ACK\DC2\EOT\234\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\a\SOH\DC2\EOT\234\EOT\t\NAK\n\
    \\r\n\
    \\ENQ\EOTT\STX\a\ETX\DC2\EOT\234\EOT\CAN\EM\n\
    \0\n\
    \\EOT\EOTT\STX\b\DC2\EOT\235\EOT\STX)\"\" The pool retirement epoch bound.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\b\ENQ\DC2\EOT\235\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\b\SOH\DC2\EOT\235\EOT\t$\n\
    \\r\n\
    \\ENQ\EOTT\STX\b\ETX\DC2\EOT\235\EOT'(\n\
    \,\n\
    \\EOT\EOTT\STX\t\DC2\EOT\236\EOT\STX&\"\RS The desired number of pools.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\t\ENQ\DC2\EOT\236\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\t\SOH\DC2\EOT\236\EOT\t \n\
    \\r\n\
    \\ENQ\EOTT\STX\t\ETX\DC2\EOT\236\EOT#%\n\
    \#\n\
    \\EOT\EOTT\STX\n\
    \\DC2\EOT\237\EOT\STX%\"\NAK The pool influence.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\n\
    \\ACK\DC2\EOT\237\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTT\STX\n\
    \\SOH\DC2\EOT\237\EOT\DC1\US\n\
    \\r\n\
    \\ENQ\EOTT\STX\n\
    \\ETX\DC2\EOT\237\EOT\"$\n\
    \'\n\
    \\EOT\EOTT\STX\v\DC2\EOT\238\EOT\STX)\"\EM The monetary expansion.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\v\ACK\DC2\EOT\238\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTT\STX\v\SOH\DC2\EOT\238\EOT\DC1#\n\
    \\r\n\
    \\ENQ\EOTT\STX\v\ETX\DC2\EOT\238\EOT&(\n\
    \'\n\
    \\EOT\EOTT\STX\f\DC2\EOT\239\EOT\STX)\"\EM The treasury expansion.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\f\ACK\DC2\EOT\239\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTT\STX\f\SOH\DC2\EOT\239\EOT\DC1#\n\
    \\r\n\
    \\ENQ\EOTT\STX\f\ETX\DC2\EOT\239\EOT&(\n\
    \&\n\
    \\EOT\EOTT\STX\r\DC2\EOT\240\EOT\STX\FS\"\CAN The minimum pool cost.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\r\ACK\DC2\EOT\240\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\r\SOH\DC2\EOT\240\EOT\t\SYN\n\
    \\r\n\
    \\ENQ\EOTT\STX\r\ETX\DC2\EOT\240\EOT\EM\ESC\n\
    \%\n\
    \\EOT\EOTT\STX\SO\DC2\EOT\241\EOT\STX(\"\ETB The protocol version.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\SO\ACK\DC2\EOT\241\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTT\STX\SO\SOH\DC2\EOT\241\EOT\DC2\"\n\
    \\r\n\
    \\ENQ\EOTT\STX\SO\ETX\DC2\EOT\241\EOT%'\n\
    \'\n\
    \\EOT\EOTT\STX\SI\DC2\EOT\242\EOT\STX\GS\"\EM The maximum value size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\SI\ENQ\DC2\EOT\242\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\SI\SOH\DC2\EOT\242\EOT\t\ETB\n\
    \\r\n\
    \\ENQ\EOTT\STX\SI\ETX\DC2\EOT\242\EOT\SUB\FS\n\
    \*\n\
    \\EOT\EOTT\STX\DLE\DC2\EOT\243\EOT\STX$\"\FS The collateral percentage.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\DLE\ENQ\DC2\EOT\243\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\DLE\SOH\DC2\EOT\243\EOT\t\RS\n\
    \\r\n\
    \\ENQ\EOTT\STX\DLE\ETX\DC2\EOT\243\EOT!#\n\
    \.\n\
    \\EOT\EOTT\STX\DC1\DC2\EOT\244\EOT\STX$\"  The maximum collateral inputs.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC1\ENQ\DC2\EOT\244\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC1\SOH\DC2\EOT\244\EOT\t\RS\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC1\ETX\DC2\EOT\244\EOT!#\n\
    \ \n\
    \\EOT\EOTT\STX\DC2\DC2\EOT\245\EOT\STX\RS\"\DC2 The cost models.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC2\ACK\DC2\EOT\245\EOT\STX\f\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC2\SOH\DC2\EOT\245\EOT\r\CAN\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC2\ETX\DC2\EOT\245\EOT\ESC\GS\n\
    \\ESC\n\
    \\EOT\EOTT\STX\DC3\DC2\EOT\246\EOT\STX\ETB\"\r The prices.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC3\ACK\DC2\EOT\246\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC3\SOH\DC2\EOT\246\EOT\v\DC1\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC3\ETX\DC2\EOT\246\EOT\DC4\SYN\n\
    \<\n\
    \\EOT\EOTT\STX\DC4\DC2\EOT\247\EOT\STX3\". The maximum execution units per transaction.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC4\ACK\DC2\EOT\247\EOT\STX\t\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC4\SOH\DC2\EOT\247\EOT\n\
    \-\n\
    \\r\n\
    \\ENQ\EOTT\STX\DC4\ETX\DC2\EOT\247\EOT02\n\
    \6\n\
    \\EOT\EOTT\STX\NAK\DC2\EOT\248\EOT\STX-\"( The maximum execution units per block.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\NAK\ACK\DC2\EOT\248\EOT\STX\t\n\
    \\r\n\
    \\ENQ\EOTT\STX\NAK\SOH\DC2\EOT\248\EOT\n\
    \'\n\
    \\r\n\
    \\ENQ\EOTT\STX\NAK\ETX\DC2\EOT\248\EOT*,\n\
    \:\n\
    \\EOT\EOTT\STX\SYN\DC2\EOT\249\EOT\STX7\", The minimum fee per script reference byte.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\SYN\ACK\DC2\EOT\249\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTT\STX\SYN\SOH\DC2\EOT\249\EOT\DC11\n\
    \\r\n\
    \\ENQ\EOTT\STX\SYN\ETX\DC2\EOT\249\EOT46\n\
    \+\n\
    \\EOT\EOTT\STX\ETB\DC2\EOT\250\EOT\STX/\"\GS The pool voting thresholds.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\ETB\ACK\DC2\EOT\250\EOT\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTT\STX\ETB\SOH\DC2\EOT\250\EOT\DC3)\n\
    \\r\n\
    \\ENQ\EOTT\STX\ETB\ETX\DC2\EOT\250\EOT,.\n\
    \+\n\
    \\EOT\EOTT\STX\CAN\DC2\EOT\251\EOT\STX/\"\GS The drep voting thresholds.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\CAN\ACK\DC2\EOT\251\EOT\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTT\STX\CAN\SOH\DC2\EOT\251\EOT\DC3)\n\
    \\r\n\
    \\ENQ\EOTT\STX\CAN\ETX\DC2\EOT\251\EOT,.\n\
    \+\n\
    \\EOT\EOTT\STX\EM\DC2\EOT\252\EOT\STX!\"\GS The minimum committee size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\EM\ENQ\DC2\EOT\252\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\EM\SOH\DC2\EOT\252\EOT\t\ESC\n\
    \\r\n\
    \\ENQ\EOTT\STX\EM\ETX\DC2\EOT\252\EOT\RS \n\
    \)\n\
    \\EOT\EOTT\STX\SUB\DC2\EOT\253\EOT\STX#\"\ESC The committee term limit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\SUB\ENQ\DC2\EOT\253\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\SUB\SOH\DC2\EOT\253\EOT\t\GS\n\
    \\r\n\
    \\ENQ\EOTT\STX\SUB\ETX\DC2\EOT\253\EOT \"\n\
    \6\n\
    \\EOT\EOTT\STX\ESC\DC2\EOT\254\EOT\STX0\"( The governance action validity period.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\ESC\ENQ\DC2\EOT\254\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\ESC\SOH\DC2\EOT\254\EOT\t*\n\
    \\r\n\
    \\ENQ\EOTT\STX\ESC\ETX\DC2\EOT\254\EOT-/\n\
    \.\n\
    \\EOT\EOTT\STX\FS\DC2\EOT\255\EOT\STX(\"  The governance action deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\FS\ACK\DC2\EOT\255\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\FS\SOH\DC2\EOT\255\EOT\t\"\n\
    \\r\n\
    \\ENQ\EOTT\STX\FS\ETX\DC2\EOT\255\EOT%'\n\
    \!\n\
    \\EOT\EOTT\STX\GS\DC2\EOT\128\ENQ\STX\ESC\"\DC3 The drep deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\GS\ACK\DC2\EOT\128\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\GS\SOH\DC2\EOT\128\ENQ\t\NAK\n\
    \\r\n\
    \\ENQ\EOTT\STX\GS\ETX\DC2\EOT\128\ENQ\CAN\SUB\n\
    \+\n\
    \\EOT\EOTT\STX\RS\DC2\EOT\129\ENQ\STX%\"\GS The drep inactivity period.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTT\STX\RS\ENQ\DC2\EOT\129\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTT\STX\RS\SOH\DC2\EOT\129\ENQ\t\US\n\
    \\r\n\
    \\ENQ\EOTT\STX\RS\ETX\DC2\EOT\129\ENQ\"$\n\
    \\f\n\
    \\STX\EOTU\DC2\ACK\132\ENQ\NUL\136\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOTU\SOH\DC2\EOT\132\ENQ\b\DC3\n\
    \\FS\n\
    \\EOT\EOTU\STX\NUL\DC2\EOT\133\ENQ\STX\DC2\"\SO ms timestamp\n\
    \\n\
    \\r\n\
    \\ENQ\EOTU\STX\NUL\ENQ\DC2\EOT\133\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTU\STX\NUL\SOH\DC2\EOT\133\ENQ\t\r\n\
    \\r\n\
    \\ENQ\EOTU\STX\NUL\ETX\DC2\EOT\133\ENQ\DLE\DC1\n\
    \C\n\
    \\EOT\EOTU\STX\SOH\DC2\EOT\134\ENQ\STX\DC2\"5 absolute slot number of the first block of this era\n\
    \\n\
    \\r\n\
    \\ENQ\EOTU\STX\SOH\ENQ\DC2\EOT\134\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTU\STX\SOH\SOH\DC2\EOT\134\ENQ\t\r\n\
    \\r\n\
    \\ENQ\EOTU\STX\SOH\ETX\DC2\EOT\134\ENQ\DLE\DC1\n\
    \(\n\
    \\EOT\EOTU\STX\STX\DC2\EOT\135\ENQ\STX\DC3\"\SUB first epoch for this era\n\
    \\n\
    \\r\n\
    \\ENQ\EOTU\STX\STX\ENQ\DC2\EOT\135\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTU\STX\STX\SOH\DC2\EOT\135\ENQ\t\SO\n\
    \\r\n\
    \\ENQ\EOTU\STX\STX\ETX\DC2\EOT\135\ENQ\DC1\DC2\n\
    \\f\n\
    \\STX\EOTV\DC2\ACK\138\ENQ\NUL\143\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOTV\SOH\DC2\EOT\138\ENQ\b\DC2\n\
    \/\n\
    \\EOT\EOTV\STX\NUL\DC2\EOT\139\ENQ\STX\DC2\"! name of the era (ex: \"shelley\")\n\
    \\n\
    \\r\n\
    \\ENQ\EOTV\STX\NUL\ENQ\DC2\EOT\139\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTV\STX\NUL\SOH\DC2\EOT\139\ENQ\t\r\n\
    \\r\n\
    \\ENQ\EOTV\STX\NUL\ETX\DC2\EOT\139\ENQ\DLE\DC1\n\
    \!\n\
    \\EOT\EOTV\STX\SOH\DC2\EOT\140\ENQ\STX\CAN\"\DC3 start of this era\n\
    \\n\
    \\r\n\
    \\ENQ\EOTV\STX\SOH\ACK\DC2\EOT\140\ENQ\STX\r\n\
    \\r\n\
    \\ENQ\EOTV\STX\SOH\SOH\DC2\EOT\140\ENQ\SO\DC3\n\
    \\r\n\
    \\ENQ\EOTV\STX\SOH\ETX\DC2\EOT\140\ENQ\SYN\ETB\n\
    \F\n\
    \\EOT\EOTV\STX\STX\DC2\EOT\141\ENQ\STX\SYN\"8 end of this era (if the era has a well-defined ending)\n\
    \\n\
    \\r\n\
    \\ENQ\EOTV\STX\STX\ACK\DC2\EOT\141\ENQ\STX\r\n\
    \\r\n\
    \\ENQ\EOTV\STX\STX\SOH\DC2\EOT\141\ENQ\SO\DC1\n\
    \\r\n\
    \\ENQ\EOTV\STX\STX\ETX\DC2\EOT\141\ENQ\DC4\NAK\n\
    \0\n\
    \\EOT\EOTV\STX\ETX\DC2\EOT\142\ENQ\STX\RS\"\" protocol parameters for this era\n\
    \\n\
    \\r\n\
    \\ENQ\EOTV\STX\ETX\ACK\DC2\EOT\142\ENQ\STX\t\n\
    \\r\n\
    \\ENQ\EOTV\STX\ETX\SOH\DC2\EOT\142\ENQ\n\
    \\EM\n\
    \\r\n\
    \\ENQ\EOTV\STX\ETX\ETX\DC2\EOT\142\ENQ\FS\GS\n\
    \\f\n\
    \\STX\EOTW\DC2\ACK\145\ENQ\NUL\147\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOTW\SOH\DC2\EOT\145\ENQ\b\DC4\n\
    \\f\n\
    \\EOT\EOTW\STX\NUL\DC2\EOT\146\ENQ\STX$\n\
    \\r\n\
    \\ENQ\EOTW\STX\NUL\EOT\DC2\EOT\146\ENQ\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTW\STX\NUL\ACK\DC2\EOT\146\ENQ\v\NAK\n\
    \\r\n\
    \\ENQ\EOTW\STX\NUL\SOH\DC2\EOT\146\ENQ\SYN\US\n\
    \\r\n\
    \\ENQ\EOTW\STX\NUL\ETX\DC2\EOT\146\ENQ\"#\n\
    \\199\STX\n\
    \\STX\EOTX\DC2\ACK\156\ENQ\NUL\160\ENQ\SOH\SUB\158\STX A single evaluation report entry, used for script errors, execution traces,\n\
    \ and transaction-level evaluation errors (e.g. balance mismatches). When the\n\
    \ entry relates to a specific redeemer, purpose and index identify which one;\n\
    \ for transaction-level errors these fields are absent.\n\
    \2\CAN EVALUATION\n\
    \ ==========\n\
    \\n\
    \\v\n\
    \\ETX\EOTX\SOH\DC2\EOT\156\ENQ\b\DC2\n\
    \'\n\
    \\EOT\EOTX\STX\NUL\DC2\EOT\157\ENQ\STX\DC1\"\EM Human-readable message.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTX\STX\NUL\ENQ\DC2\EOT\157\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTX\STX\NUL\SOH\DC2\EOT\157\ENQ\t\f\n\
    \\r\n\
    \\ENQ\EOTX\STX\NUL\ETX\DC2\EOT\157\ENQ\SI\DLE\n\
    \A\n\
    \\EOT\EOTX\STX\SOH\DC2\EOT\158\ENQ\STX'\"3 Purpose of the redeemer that produced this entry.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTX\STX\SOH\EOT\DC2\EOT\158\ENQ\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTX\STX\SOH\ACK\DC2\EOT\158\ENQ\v\SUB\n\
    \\r\n\
    \\ENQ\EOTX\STX\SOH\SOH\DC2\EOT\158\ENQ\ESC\"\n\
    \\r\n\
    \\ENQ\EOTX\STX\SOH\ETX\DC2\EOT\158\ENQ%&\n\
    \9\n\
    \\EOT\EOTX\STX\STX\DC2\EOT\159\ENQ\STX\FS\"+ Index of the redeemer within its purpose.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTX\STX\STX\EOT\DC2\EOT\159\ENQ\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTX\STX\STX\ENQ\DC2\EOT\159\ENQ\v\DC1\n\
    \\r\n\
    \\ENQ\EOTX\STX\STX\SOH\DC2\EOT\159\ENQ\DC2\ETB\n\
    \\r\n\
    \\ENQ\EOTX\STX\STX\ETX\DC2\EOT\159\ENQ\SUB\ESC\n\
    \T\n\
    \\STX\EOTY\DC2\ACK\163\ENQ\NUL\169\ENQ\SOH\SUBF Result of evaluating a transaction against the current ledger state.\n\
    \\n\
    \\v\n\
    \\ETX\EOTY\SOH\DC2\EOT\163\ENQ\b\SO\n\
    \9\n\
    \\EOT\EOTY\STX\NUL\DC2\EOT\164\ENQ\STX\DC1\"+ Computed minimum fee for the transaction.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\NUL\ACK\DC2\EOT\164\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTY\STX\NUL\SOH\DC2\EOT\164\ENQ\t\f\n\
    \\r\n\
    \\ENQ\EOTY\STX\NUL\ETX\DC2\EOT\164\ENQ\SI\DLE\n\
    \D\n\
    \\EOT\EOTY\STX\SOH\DC2\EOT\165\ENQ\STX\ETB\"6 Total execution units consumed across all redeemers.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\SOH\ACK\DC2\EOT\165\ENQ\STX\t\n\
    \\r\n\
    \\ENQ\EOTY\STX\SOH\SOH\DC2\EOT\165\ENQ\n\
    \\DC2\n\
    \\r\n\
    \\ENQ\EOTY\STX\SOH\ETX\DC2\EOT\165\ENQ\NAK\SYN\n\
    \I\n\
    \\EOT\EOTY\STX\STX\DC2\EOT\166\ENQ\STX!\"; Script execution and transaction-level evaluation errors.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\STX\EOT\DC2\EOT\166\ENQ\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\STX\ACK\DC2\EOT\166\ENQ\v\NAK\n\
    \\r\n\
    \\ENQ\EOTY\STX\STX\SOH\DC2\EOT\166\ENQ\SYN\FS\n\
    \\r\n\
    \\ENQ\EOTY\STX\STX\ETX\DC2\EOT\166\ENQ\US \n\
    \5\n\
    \\EOT\EOTY\STX\ETX\DC2\EOT\167\ENQ\STX!\"' Per-redeemer script execution traces.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\ETX\EOT\DC2\EOT\167\ENQ\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\ETX\ACK\DC2\EOT\167\ENQ\v\NAK\n\
    \\r\n\
    \\ENQ\EOTY\STX\ETX\SOH\DC2\EOT\167\ENQ\SYN\FS\n\
    \\r\n\
    \\ENQ\EOTY\STX\ETX\ETX\DC2\EOT\167\ENQ\US \n\
    \9\n\
    \\EOT\EOTY\STX\EOT\DC2\EOT\168\ENQ\STX\"\"+ Redeemers with evaluated execution units.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\EOT\EOT\DC2\EOT\168\ENQ\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTY\STX\EOT\ACK\DC2\EOT\168\ENQ\v\DC3\n\
    \\r\n\
    \\ENQ\EOTY\STX\EOT\SOH\DC2\EOT\168\ENQ\DC4\GS\n\
    \\r\n\
    \\ENQ\EOTY\STX\EOT\ETX\DC2\EOT\168\ENQ !\n\
    \0\n\
    \\STX\EOTZ\DC2\ACK\174\ENQ\NUL\176\ENQ\SOH2\" GENESIS CONFIGS\n\
    \ ===============\n\
    \\n\
    \\v\n\
    \\ETX\EOTZ\SOH\DC2\EOT\174\ENQ\b\DC4\n\
    \\f\n\
    \\EOT\EOTZ\STX\NUL\DC2\EOT\175\ENQ\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTZ\STX\NUL\ENQ\DC2\EOT\175\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTZ\STX\NUL\SOH\DC2\EOT\175\ENQ\t\f\n\
    \\r\n\
    \\ENQ\EOTZ\STX\NUL\ETX\DC2\EOT\175\ENQ\SI\DLE\n\
    \\f\n\
    \\STX\EOT[\DC2\ACK\178\ENQ\NUL\193\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOT[\SOH\DC2\EOT\178\ENQ\b\CAN\n\
    \\f\n\
    \\EOT\EOT[\STX\NUL\DC2\EOT\179\ENQ\STX\FS\n\
    \\r\n\
    \\ENQ\EOT[\STX\NUL\ENQ\DC2\EOT\179\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\NUL\SOH\DC2\EOT\179\ENQ\t\ETB\n\
    \\r\n\
    \\ENQ\EOT[\STX\NUL\ETX\DC2\EOT\179\ENQ\SUB\ESC\n\
    \\f\n\
    \\EOT\EOT[\STX\SOH\DC2\EOT\180\ENQ\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT[\STX\SOH\ENQ\DC2\EOT\180\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\SOH\SOH\DC2\EOT\180\ENQ\t\SYN\n\
    \\r\n\
    \\ENQ\EOT[\STX\SOH\ETX\DC2\EOT\180\ENQ\EM\SUB\n\
    \\f\n\
    \\EOT\EOT[\STX\STX\DC2\EOT\181\ENQ\STX\FS\n\
    \\r\n\
    \\ENQ\EOT[\STX\STX\ENQ\DC2\EOT\181\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\STX\SOH\DC2\EOT\181\ENQ\t\ETB\n\
    \\r\n\
    \\ENQ\EOT[\STX\STX\ETX\DC2\EOT\181\ENQ\SUB\ESC\n\
    \\f\n\
    \\EOT\EOT[\STX\ETX\DC2\EOT\182\ENQ\STX\GS\n\
    \\r\n\
    \\ENQ\EOT[\STX\ETX\ENQ\DC2\EOT\182\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\ETX\SOH\DC2\EOT\182\ENQ\t\CAN\n\
    \\r\n\
    \\ENQ\EOT[\STX\ETX\ETX\DC2\EOT\182\ENQ\ESC\FS\n\
    \\f\n\
    \\EOT\EOT[\STX\EOT\DC2\EOT\183\ENQ\STX\EM\n\
    \\r\n\
    \\ENQ\EOT[\STX\EOT\ENQ\DC2\EOT\183\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\EOT\SOH\DC2\EOT\183\ENQ\t\DC4\n\
    \\r\n\
    \\ENQ\EOT[\STX\EOT\ETX\DC2\EOT\183\ENQ\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT[\STX\ENQ\DC2\EOT\184\ENQ\STX\US\n\
    \\r\n\
    \\ENQ\EOT[\STX\ENQ\ENQ\DC2\EOT\184\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\ENQ\SOH\DC2\EOT\184\ENQ\t\SUB\n\
    \\r\n\
    \\ENQ\EOT[\STX\ENQ\ETX\DC2\EOT\184\ENQ\GS\RS\n\
    \\f\n\
    \\EOT\EOT[\STX\ACK\DC2\EOT\185\ENQ\STX\NAK\n\
    \\r\n\
    \\ENQ\EOT[\STX\ACK\ENQ\DC2\EOT\185\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\ACK\SOH\DC2\EOT\185\ENQ\t\DLE\n\
    \\r\n\
    \\ENQ\EOT[\STX\ACK\ETX\DC2\EOT\185\ENQ\DC3\DC4\n\
    \\f\n\
    \\EOT\EOT[\STX\a\DC2\EOT\186\ENQ\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT[\STX\a\ENQ\DC2\EOT\186\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\a\SOH\DC2\EOT\186\ENQ\t\SYN\n\
    \\r\n\
    \\ENQ\EOT[\STX\a\ETX\DC2\EOT\186\ENQ\EM\SUB\n\
    \\f\n\
    \\EOT\EOT[\STX\b\DC2\EOT\187\ENQ\STX\GS\n\
    \\r\n\
    \\ENQ\EOT[\STX\b\ENQ\DC2\EOT\187\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\b\SOH\DC2\EOT\187\ENQ\t\CAN\n\
    \\r\n\
    \\ENQ\EOT[\STX\b\ETX\DC2\EOT\187\ENQ\ESC\FS\n\
    \\f\n\
    \\EOT\EOT[\STX\t\DC2\EOT\188\ENQ\STX\"\n\
    \\r\n\
    \\ENQ\EOT[\STX\t\ENQ\DC2\EOT\188\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\t\SOH\DC2\EOT\188\ENQ\t\FS\n\
    \\r\n\
    \\ENQ\EOT[\STX\t\ETX\DC2\EOT\188\ENQ\US!\n\
    \\f\n\
    \\EOT\EOT[\STX\n\
    \\DC2\EOT\189\ENQ\STX\RS\n\
    \\r\n\
    \\ENQ\EOT[\STX\n\
    \\ENQ\DC2\EOT\189\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\n\
    \\SOH\DC2\EOT\189\ENQ\t\CAN\n\
    \\r\n\
    \\ENQ\EOT[\STX\n\
    \\ETX\DC2\EOT\189\ENQ\ESC\GS\n\
    \\f\n\
    \\EOT\EOT[\STX\v\DC2\EOT\190\ENQ\STX\"\n\
    \\r\n\
    \\ENQ\EOT[\STX\v\ACK\DC2\EOT\190\ENQ\STX\SO\n\
    \\r\n\
    \\ENQ\EOT[\STX\v\SOH\DC2\EOT\190\ENQ\SI\FS\n\
    \\r\n\
    \\ENQ\EOT[\STX\v\ETX\DC2\EOT\190\ENQ\US!\n\
    \\f\n\
    \\EOT\EOT[\STX\f\DC2\EOT\191\ENQ\STX!\n\
    \\r\n\
    \\ENQ\EOT[\STX\f\ACK\DC2\EOT\191\ENQ\STX\r\n\
    \\r\n\
    \\ENQ\EOT[\STX\f\SOH\DC2\EOT\191\ENQ\SO\ESC\n\
    \\r\n\
    \\ENQ\EOT[\STX\f\ETX\DC2\EOT\191\ENQ\RS \n\
    \\f\n\
    \\EOT\EOT[\STX\r\DC2\EOT\192\ENQ\STX!\n\
    \\r\n\
    \\ENQ\EOT[\STX\r\ENQ\DC2\EOT\192\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT[\STX\r\SOH\DC2\EOT\192\ENQ\t\ESC\n\
    \\r\n\
    \\ENQ\EOT[\STX\r\ETX\DC2\EOT\192\ENQ\RS \n\
    \\f\n\
    \\STX\EOT\\\DC2\ACK\195\ENQ\NUL\199\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOT\\\SOH\DC2\EOT\195\ENQ\b\DC4\n\
    \\f\n\
    \\EOT\EOT\\\STX\NUL\DC2\EOT\196\ENQ\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT\\\STX\NUL\ENQ\DC2\EOT\196\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT\\\STX\NUL\SOH\DC2\EOT\196\ENQ\t\DC1\n\
    \\r\n\
    \\ENQ\EOT\\\STX\NUL\ETX\DC2\EOT\196\ENQ\DC4\NAK\n\
    \\f\n\
    \\EOT\EOT\\\STX\SOH\DC2\EOT\197\ENQ\STX\NAK\n\
    \\r\n\
    \\ENQ\EOT\\\STX\SOH\ENQ\DC2\EOT\197\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT\\\STX\SOH\SOH\DC2\EOT\197\ENQ\t\DLE\n\
    \\r\n\
    \\ENQ\EOT\\\STX\SOH\ETX\DC2\EOT\197\ENQ\DC3\DC4\n\
    \\f\n\
    \\EOT\EOT\\\STX\STX\DC2\EOT\198\ENQ\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT\\\STX\STX\ENQ\DC2\EOT\198\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT\\\STX\STX\SOH\DC2\EOT\198\ENQ\t\SYN\n\
    \\r\n\
    \\ENQ\EOT\\\STX\STX\ETX\DC2\EOT\198\ENQ\EM\SUB\n\
    \\f\n\
    \\STX\EOT]\DC2\ACK\201\ENQ\NUL\204\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOT]\SOH\DC2\EOT\201\ENQ\b\DC3\n\
    \\f\n\
    \\EOT\EOT]\STX\NUL\DC2\EOT\202\ENQ\STX\CAN\n\
    \\r\n\
    \\ENQ\EOT]\STX\NUL\ENQ\DC2\EOT\202\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT]\STX\NUL\SOH\DC2\EOT\202\ENQ\t\DC3\n\
    \\r\n\
    \\ENQ\EOT]\STX\NUL\ETX\DC2\EOT\202\ENQ\SYN\ETB\n\
    \\f\n\
    \\EOT\EOT]\STX\SOH\DC2\EOT\203\ENQ\STX\NAK\n\
    \\r\n\
    \\ENQ\EOT]\STX\SOH\ENQ\DC2\EOT\203\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT]\STX\SOH\SOH\DC2\EOT\203\ENQ\t\DLE\n\
    \\r\n\
    \\ENQ\EOT]\STX\SOH\ETX\DC2\EOT\203\ENQ\DC3\DC4\n\
    \\f\n\
    \\STX\EOT^\DC2\ACK\206\ENQ\NUL\211\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOT^\SOH\DC2\EOT\206\ENQ\b\SYN\n\
    \\f\n\
    \\EOT\EOT^\STX\NUL\DC2\EOT\207\ENQ\STX\SI\n\
    \\r\n\
    \\ENQ\EOT^\STX\NUL\ENQ\DC2\EOT\207\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT^\STX\NUL\SOH\DC2\EOT\207\ENQ\t\n\
    \\n\
    \\r\n\
    \\ENQ\EOT^\STX\NUL\ETX\DC2\EOT\207\ENQ\r\SO\n\
    \\f\n\
    \\EOT\EOT^\STX\SOH\DC2\EOT\208\ENQ\STX\FS\n\
    \\r\n\
    \\ENQ\EOT^\STX\SOH\ENQ\DC2\EOT\208\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT^\STX\SOH\SOH\DC2\EOT\208\ENQ\t\ETB\n\
    \\r\n\
    \\ENQ\EOT^\STX\SOH\ETX\DC2\EOT\208\ENQ\SUB\ESC\n\
    \\f\n\
    \\EOT\EOT^\STX\STX\DC2\EOT\209\ENQ\STX\EM\n\
    \\r\n\
    \\ENQ\EOT^\STX\STX\ENQ\DC2\EOT\209\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT^\STX\STX\SOH\DC2\EOT\209\ENQ\t\DC4\n\
    \\r\n\
    \\ENQ\EOT^\STX\STX\ETX\DC2\EOT\209\ENQ\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT^\STX\ETX\DC2\EOT\210\ENQ\STX\EM\n\
    \\r\n\
    \\ENQ\EOT^\STX\ETX\ENQ\DC2\EOT\210\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT^\STX\ETX\SOH\DC2\EOT\210\ENQ\t\DC4\n\
    \\r\n\
    \\ENQ\EOT^\STX\ETX\ETX\DC2\EOT\210\ENQ\ETB\CAN\n\
    \\f\n\
    \\STX\EOT_\DC2\ACK\213\ENQ\NUL\218\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOT_\SOH\DC2\EOT\213\ENQ\b\ETB\n\
    \\f\n\
    \\EOT\EOT_\STX\NUL\DC2\EOT\214\ENQ\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT_\STX\NUL\ENQ\DC2\EOT\214\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT_\STX\NUL\SOH\DC2\EOT\214\ENQ\t\r\n\
    \\r\n\
    \\ENQ\EOT_\STX\NUL\ETX\DC2\EOT\214\ENQ\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT_\STX\SOH\DC2\EOT\215\ENQ\STX\EM\n\
    \\r\n\
    \\ENQ\EOT_\STX\SOH\ENQ\DC2\EOT\215\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT_\STX\SOH\SOH\DC2\EOT\215\ENQ\t\DC4\n\
    \\r\n\
    \\ENQ\EOT_\STX\SOH\ETX\DC2\EOT\215\ENQ\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT_\STX\STX\DC2\EOT\216\ENQ\STX\ETB\n\
    \\r\n\
    \\ENQ\EOT_\STX\STX\ENQ\DC2\EOT\216\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT_\STX\STX\SOH\DC2\EOT\216\ENQ\t\DC2\n\
    \\r\n\
    \\ENQ\EOT_\STX\STX\ETX\DC2\EOT\216\ENQ\NAK\SYN\n\
    \\f\n\
    \\EOT\EOT_\STX\ETX\DC2\EOT\217\ENQ\STX\DC3\n\
    \\r\n\
    \\ENQ\EOT_\STX\ETX\ENQ\DC2\EOT\217\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT_\STX\ETX\SOH\DC2\EOT\217\ENQ\t\SO\n\
    \\r\n\
    \\ENQ\EOT_\STX\ETX\ETX\DC2\EOT\217\ENQ\DC1\DC2\n\
    \\f\n\
    \\STX\EOT`\DC2\ACK\220\ENQ\NUL\225\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOT`\SOH\DC2\EOT\220\ENQ\b\SI\n\
    \\f\n\
    \\EOT\EOT`\STX\NUL\DC2\EOT\221\ENQ\STX\SUB\n\
    \\r\n\
    \\ENQ\EOT`\STX\NUL\ENQ\DC2\EOT\221\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT`\STX\NUL\SOH\DC2\EOT\221\ENQ\t\NAK\n\
    \\r\n\
    \\ENQ\EOT`\STX\NUL\ETX\DC2\EOT\221\ENQ\CAN\EM\n\
    \\f\n\
    \\EOT\EOT`\STX\SOH\DC2\EOT\222\ENQ\STX\ETB\n\
    \\r\n\
    \\ENQ\EOT`\STX\SOH\ENQ\DC2\EOT\222\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT`\STX\SOH\SOH\DC2\EOT\222\ENQ\t\DC2\n\
    \\r\n\
    \\ENQ\EOT`\STX\SOH\ETX\DC2\EOT\222\ENQ\NAK\SYN\n\
    \\f\n\
    \\EOT\EOT`\STX\STX\DC2\EOT\223\ENQ\STX\EM\n\
    \\r\n\
    \\ENQ\EOT`\STX\STX\ENQ\DC2\EOT\223\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT`\STX\STX\SOH\DC2\EOT\223\ENQ\t\DC4\n\
    \\r\n\
    \\ENQ\EOT`\STX\STX\ETX\DC2\EOT\223\ENQ\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT`\STX\ETX\DC2\EOT\224\ENQ\STX\NAK\n\
    \\r\n\
    \\ENQ\EOT`\STX\ETX\ENQ\DC2\EOT\224\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOT`\STX\ETX\SOH\DC2\EOT\224\ENQ\t\DLE\n\
    \\r\n\
    \\ENQ\EOT`\STX\ETX\ETX\DC2\EOT\224\ENQ\DC3\DC4\n\
    \\f\n\
    \\STX\EOTa\DC2\ACK\227\ENQ\NUL\230\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOTa\SOH\DC2\EOT\227\ENQ\b\DC1\n\
    \\f\n\
    \\EOT\EOTa\STX\NUL\DC2\EOT\228\ENQ\STX\SYN\n\
    \\r\n\
    \\ENQ\EOTa\STX\NUL\ENQ\DC2\EOT\228\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTa\STX\NUL\SOH\DC2\EOT\228\ENQ\t\DC1\n\
    \\r\n\
    \\ENQ\EOTa\STX\NUL\ETX\DC2\EOT\228\ENQ\DC4\NAK\n\
    \\f\n\
    \\EOT\EOTa\STX\SOH\DC2\EOT\229\ENQ\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTa\STX\SOH\ENQ\DC2\EOT\229\ENQ\STX\b\n\
    \\r\n\
    \\ENQ\EOTa\STX\SOH\SOH\DC2\EOT\229\ENQ\t\f\n\
    \\r\n\
    \\ENQ\EOTa\STX\SOH\ETX\DC2\EOT\229\ENQ\SI\DLE\n\
    \\f\n\
    \\STX\EOTb\DC2\ACK\232\ENQ\NUL\238\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOTb\SOH\DC2\EOT\232\ENQ\b\FS\n\
    \\f\n\
    \\EOT\EOTb\STX\NUL\DC2\EOT\233\ENQ\STX*\n\
    \\r\n\
    \\ENQ\EOTb\STX\NUL\ACK\DC2\EOT\233\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTb\STX\NUL\SOH\DC2\EOT\233\ENQ\DC1%\n\
    \\r\n\
    \\ENQ\EOTb\STX\NUL\ETX\DC2\EOT\233\ENQ()\n\
    \\f\n\
    \\EOT\EOTb\STX\SOH\DC2\EOT\234\ENQ\STX&\n\
    \\r\n\
    \\ENQ\EOTb\STX\SOH\ACK\DC2\EOT\234\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTb\STX\SOH\SOH\DC2\EOT\234\ENQ\DC1!\n\
    \\r\n\
    \\ENQ\EOTb\STX\SOH\ETX\DC2\EOT\234\ENQ$%\n\
    \\f\n\
    \\EOT\EOTb\STX\STX\DC2\EOT\235\ENQ\STX-\n\
    \\r\n\
    \\ENQ\EOTb\STX\STX\ACK\DC2\EOT\235\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTb\STX\STX\SOH\DC2\EOT\235\ENQ\DC1(\n\
    \\r\n\
    \\ENQ\EOTb\STX\STX\ETX\DC2\EOT\235\ENQ+,\n\
    \\f\n\
    \\EOT\EOTb\STX\ETX\DC2\EOT\236\ENQ\STX*\n\
    \\r\n\
    \\ENQ\EOTb\STX\ETX\ACK\DC2\EOT\236\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTb\STX\ETX\SOH\DC2\EOT\236\ENQ\DC1%\n\
    \\r\n\
    \\ENQ\EOTb\STX\ETX\ETX\DC2\EOT\236\ENQ()\n\
    \\f\n\
    \\EOT\EOTb\STX\EOT\DC2\EOT\237\ENQ\STX'\n\
    \\r\n\
    \\ENQ\EOTb\STX\EOT\ACK\DC2\EOT\237\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTb\STX\EOT\SOH\DC2\EOT\237\ENQ\DC1\"\n\
    \\r\n\
    \\ENQ\EOTb\STX\EOT\ETX\DC2\EOT\237\ENQ%&\n\
    \\f\n\
    \\STX\EOTc\DC2\ACK\240\ENQ\NUL\251\ENQ\SOH\n\
    \\v\n\
    \\ETX\EOTc\SOH\DC2\EOT\240\ENQ\b\FS\n\
    \\f\n\
    \\EOT\EOTc\STX\NUL\DC2\EOT\241\ENQ\STX*\n\
    \\r\n\
    \\ENQ\EOTc\STX\NUL\ACK\DC2\EOT\241\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\NUL\SOH\DC2\EOT\241\ENQ\DC1%\n\
    \\r\n\
    \\ENQ\EOTc\STX\NUL\ETX\DC2\EOT\241\ENQ()\n\
    \\f\n\
    \\EOT\EOTc\STX\SOH\DC2\EOT\242\ENQ\STX&\n\
    \\r\n\
    \\ENQ\EOTc\STX\SOH\ACK\DC2\EOT\242\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\SOH\SOH\DC2\EOT\242\ENQ\DC1!\n\
    \\r\n\
    \\ENQ\EOTc\STX\SOH\ETX\DC2\EOT\242\ENQ$%\n\
    \\f\n\
    \\EOT\EOTc\STX\STX\DC2\EOT\243\ENQ\STX-\n\
    \\r\n\
    \\ENQ\EOTc\STX\STX\ACK\DC2\EOT\243\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\STX\SOH\DC2\EOT\243\ENQ\DC1(\n\
    \\r\n\
    \\ENQ\EOTc\STX\STX\ETX\DC2\EOT\243\ENQ+,\n\
    \\f\n\
    \\EOT\EOTc\STX\ETX\DC2\EOT\244\ENQ\STX,\n\
    \\r\n\
    \\ENQ\EOTc\STX\ETX\ACK\DC2\EOT\244\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\ETX\SOH\DC2\EOT\244\ENQ\DC1'\n\
    \\r\n\
    \\ENQ\EOTc\STX\ETX\ETX\DC2\EOT\244\ENQ*+\n\
    \\f\n\
    \\EOT\EOTc\STX\EOT\DC2\EOT\245\ENQ\STX*\n\
    \\r\n\
    \\ENQ\EOTc\STX\EOT\ACK\DC2\EOT\245\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\EOT\SOH\DC2\EOT\245\ENQ\DC1%\n\
    \\r\n\
    \\ENQ\EOTc\STX\EOT\ETX\DC2\EOT\245\ENQ()\n\
    \\f\n\
    \\EOT\EOTc\STX\ENQ\DC2\EOT\246\ENQ\STX&\n\
    \\r\n\
    \\ENQ\EOTc\STX\ENQ\ACK\DC2\EOT\246\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\ENQ\SOH\DC2\EOT\246\ENQ\DC1!\n\
    \\r\n\
    \\ENQ\EOTc\STX\ENQ\ETX\DC2\EOT\246\ENQ$%\n\
    \\f\n\
    \\EOT\EOTc\STX\ACK\DC2\EOT\247\ENQ\STX'\n\
    \\r\n\
    \\ENQ\EOTc\STX\ACK\ACK\DC2\EOT\247\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\ACK\SOH\DC2\EOT\247\ENQ\DC1\"\n\
    \\r\n\
    \\ENQ\EOTc\STX\ACK\ETX\DC2\EOT\247\ENQ%&\n\
    \\f\n\
    \\EOT\EOTc\STX\a\DC2\EOT\248\ENQ\STX(\n\
    \\r\n\
    \\ENQ\EOTc\STX\a\ACK\DC2\EOT\248\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\a\SOH\DC2\EOT\248\ENQ\DC1#\n\
    \\r\n\
    \\ENQ\EOTc\STX\a\ETX\DC2\EOT\248\ENQ&'\n\
    \\f\n\
    \\EOT\EOTc\STX\b\DC2\EOT\249\ENQ\STX\"\n\
    \\r\n\
    \\ENQ\EOTc\STX\b\ACK\DC2\EOT\249\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\b\SOH\DC2\EOT\249\ENQ\DC1\GS\n\
    \\r\n\
    \\ENQ\EOTc\STX\b\ETX\DC2\EOT\249\ENQ !\n\
    \\f\n\
    \\EOT\EOTc\STX\t\DC2\EOT\250\ENQ\STX*\n\
    \\r\n\
    \\ENQ\EOTc\STX\t\ACK\DC2\EOT\250\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTc\STX\t\SOH\DC2\EOT\250\ENQ\DC1$\n\
    \\r\n\
    \\ENQ\EOTc\STX\t\ETX\DC2\EOT\250\ENQ')\n\
    \\f\n\
    \\STX\EOTd\DC2\ACK\253\ENQ\NUL\128\ACK\SOH\n\
    \\v\n\
    \\ETX\EOTd\SOH\DC2\EOT\253\ENQ\b\DC1\n\
    \\f\n\
    \\EOT\EOTd\STX\NUL\DC2\EOT\254\ENQ\STX\"\n\
    \\r\n\
    \\ENQ\EOTd\STX\NUL\ACK\DC2\EOT\254\ENQ\STX\NAK\n\
    \\r\n\
    \\ENQ\EOTd\STX\NUL\SOH\DC2\EOT\254\ENQ\SYN\GS\n\
    \\r\n\
    \\ENQ\EOTd\STX\NUL\ETX\DC2\EOT\254\ENQ !\n\
    \\f\n\
    \\EOT\EOTd\STX\SOH\DC2\EOT\255\ENQ\STX\US\n\
    \\r\n\
    \\ENQ\EOTd\STX\SOH\ACK\DC2\EOT\255\ENQ\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTd\STX\SOH\SOH\DC2\EOT\255\ENQ\DC1\SUB\n\
    \\r\n\
    \\ENQ\EOTd\STX\SOH\ETX\DC2\EOT\255\ENQ\GS\RS\n\
    \\f\n\
    \\STX\EOTe\DC2\ACK\130\ACK\NUL\135\ACK\SOH\n\
    \\v\n\
    \\ETX\EOTe\SOH\DC2\EOT\130\ACK\b\DC4\n\
    \\f\n\
    \\EOT\EOTe\STX\NUL\DC2\EOT\131\ACK\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTe\STX\NUL\ACK\DC2\EOT\131\ACK\STX\v\n\
    \\r\n\
    \\ENQ\EOTe\STX\NUL\SOH\DC2\EOT\131\ACK\f\NAK\n\
    \\r\n\
    \\ENQ\EOTe\STX\NUL\ETX\DC2\EOT\131\ACK\CAN\EM\n\
    \\f\n\
    \\EOT\EOTe\STX\SOH\DC2\EOT\132\ACK\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTe\STX\SOH\ACK\DC2\EOT\132\ACK\STX\v\n\
    \\r\n\
    \\ENQ\EOTe\STX\SOH\SOH\DC2\EOT\132\ACK\f\NAK\n\
    \\r\n\
    \\ENQ\EOTe\STX\SOH\ETX\DC2\EOT\132\ACK\CAN\EM\n\
    \\f\n\
    \\EOT\EOTe\STX\STX\DC2\EOT\133\ACK\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTe\STX\STX\ACK\DC2\EOT\133\ACK\STX\v\n\
    \\r\n\
    \\ENQ\EOTe\STX\STX\SOH\DC2\EOT\133\ACK\f\NAK\n\
    \\r\n\
    \\ENQ\EOTe\STX\STX\ETX\DC2\EOT\133\ACK\CAN\EM\n\
    \\f\n\
    \\EOT\EOTe\STX\ETX\DC2\EOT\134\ACK\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTe\STX\ETX\ACK\DC2\EOT\134\ACK\STX\v\n\
    \\r\n\
    \\ENQ\EOTe\STX\ETX\SOH\DC2\EOT\134\ACK\f\NAK\n\
    \\r\n\
    \\ENQ\EOTe\STX\ETX\ETX\DC2\EOT\134\ACK\CAN\EM\n\
    \U\n\
    \\STX\EOTf\DC2\ACK\138\ACK\NUL\188\ACK\SOH\SUBG Unified Genesis configuration containing all parameters from all eras\n\
    \\n\
    \\v\n\
    \\ETX\EOTf\SOH\DC2\EOT\138\ACK\b\SI\n\
    \:\n\
    \\EOT\EOTf\STX\NUL\DC2\EOT\140\ACK\STX%\SUB, ============ Byron Era Fields ============\n\
    \\n\
    \\r\n\
    \\ENQ\EOTf\STX\NUL\ACK\DC2\EOT\140\ACK\STX\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX\NUL\SOH\DC2\EOT\140\ACK\SYN \n\
    \\r\n\
    \\ENQ\EOTf\STX\NUL\ETX\DC2\EOT\140\ACK#$\n\
    \\f\n\
    \\EOT\EOTf\STX\SOH\DC2\EOT\141\ACK\STX*\n\
    \\r\n\
    \\ENQ\EOTf\STX\SOH\ACK\DC2\EOT\141\ACK\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTf\STX\SOH\SOH\DC2\EOT\141\ACK\DC3%\n\
    \\r\n\
    \\ENQ\EOTf\STX\SOH\ETX\DC2\EOT\141\ACK()\n\
    \\f\n\
    \\EOT\EOTf\STX\STX\DC2\EOT\142\ACK\STX\SYN\n\
    \\r\n\
    \\ENQ\EOTf\STX\STX\ENQ\DC2\EOT\142\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\STX\SOH\DC2\EOT\142\ACK\t\DC1\n\
    \\r\n\
    \\ENQ\EOTf\STX\STX\ETX\DC2\EOT\142\ACK\DC4\NAK\n\
    \\f\n\
    \\EOT\EOTf\STX\ETX\DC2\EOT\143\ACK\STX%\n\
    \\r\n\
    \\ENQ\EOTf\STX\ETX\ACK\DC2\EOT\143\ACK\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTf\STX\ETX\SOH\DC2\EOT\143\ACK\DC1 \n\
    \\r\n\
    \\ENQ\EOTf\STX\ETX\ETX\DC2\EOT\143\ACK#$\n\
    \\f\n\
    \\EOT\EOTf\STX\EOT\DC2\EOT\144\ACK\STX\CAN\n\
    \\r\n\
    \\ENQ\EOTf\STX\EOT\ENQ\DC2\EOT\144\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\EOT\SOH\DC2\EOT\144\ACK\t\DC3\n\
    \\r\n\
    \\ENQ\EOTf\STX\EOT\ETX\DC2\EOT\144\ACK\SYN\ETB\n\
    \\f\n\
    \\EOT\EOTf\STX\ENQ\DC2\EOT\145\ACK\STX,\n\
    \\r\n\
    \\ENQ\EOTf\STX\ENQ\ACK\DC2\EOT\145\ACK\STX\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX\ENQ\SOH\DC2\EOT\145\ACK\SYN'\n\
    \\r\n\
    \\ENQ\EOTf\STX\ENQ\ETX\DC2\EOT\145\ACK*+\n\
    \\f\n\
    \\EOT\EOTf\STX\ACK\DC2\EOT\146\ACK\STX4\n\
    \\r\n\
    \\ENQ\EOTf\STX\ACK\ACK\DC2\EOT\146\ACK\STX\RS\n\
    \\r\n\
    \\ENQ\EOTf\STX\ACK\SOH\DC2\EOT\146\ACK\US/\n\
    \\r\n\
    \\ENQ\EOTf\STX\ACK\ETX\DC2\EOT\146\ACK23\n\
    \\f\n\
    \\EOT\EOTf\STX\a\DC2\EOT\147\ACK\STX,\n\
    \\r\n\
    \\ENQ\EOTf\STX\a\ACK\DC2\EOT\147\ACK\STX\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX\a\SOH\DC2\EOT\147\ACK\SYN'\n\
    \\r\n\
    \\ENQ\EOTf\STX\a\ETX\DC2\EOT\147\ACK*+\n\
    \\f\n\
    \\EOT\EOTf\STX\b\DC2\EOT\148\ACK\STX%\n\
    \\r\n\
    \\ENQ\EOTf\STX\b\ACK\DC2\EOT\148\ACK\STX\SYN\n\
    \\r\n\
    \\ENQ\EOTf\STX\b\SOH\DC2\EOT\148\ACK\ETB \n\
    \\r\n\
    \\ENQ\EOTf\STX\b\ETX\DC2\EOT\148\ACK#$\n\
    \<\n\
    \\EOT\EOTf\STX\t\DC2\EOT\151\ACK\STX)\SUB. ============ Shelley Era Fields ============\n\
    \\n\
    \\r\n\
    \\ENQ\EOTf\STX\t\ACK\DC2\EOT\151\ACK\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTf\STX\t\SOH\DC2\EOT\151\ACK\DC1#\n\
    \\r\n\
    \\ENQ\EOTf\STX\t\ETX\DC2\EOT\151\ACK&(\n\
    \\f\n\
    \\EOT\EOTf\STX\n\
    \\DC2\EOT\152\ACK\STX\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX\n\
    \\ENQ\DC2\EOT\152\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\n\
    \\SOH\DC2\EOT\152\ACK\t\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX\n\
    \\ETX\DC2\EOT\152\ACK\CAN\SUB\n\
    \\f\n\
    \\EOT\EOTf\STX\v\DC2\EOT\153\ACK\STX)\n\
    \\r\n\
    \\ENQ\EOTf\STX\v\ACK\DC2\EOT\153\ACK\STX\CAN\n\
    \\r\n\
    \\ENQ\EOTf\STX\v\SOH\DC2\EOT\153\ACK\EM#\n\
    \\r\n\
    \\ENQ\EOTf\STX\v\ETX\DC2\EOT\153\ACK&(\n\
    \\f\n\
    \\EOT\EOTf\STX\f\DC2\EOT\154\ACK\STX)\n\
    \\r\n\
    \\ENQ\EOTf\STX\f\ACK\DC2\EOT\154\ACK\STX\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX\f\SOH\DC2\EOT\154\ACK\SYN#\n\
    \\r\n\
    \\ENQ\EOTf\STX\f\ETX\DC2\EOT\154\ACK&(\n\
    \\f\n\
    \\EOT\EOTf\STX\r\DC2\EOT\155\ACK\STX!\n\
    \\r\n\
    \\ENQ\EOTf\STX\r\ENQ\DC2\EOT\155\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\r\SOH\DC2\EOT\155\ACK\t\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX\r\ETX\DC2\EOT\155\ACK\RS \n\
    \\f\n\
    \\EOT\EOTf\STX\SO\DC2\EOT\156\ACK\STX\"\n\
    \\r\n\
    \\ENQ\EOTf\STX\SO\ACK\DC2\EOT\156\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\SO\SOH\DC2\EOT\156\ACK\t\FS\n\
    \\r\n\
    \\ENQ\EOTf\STX\SO\ETX\DC2\EOT\156\ACK\US!\n\
    \\f\n\
    \\EOT\EOTf\STX\SI\DC2\EOT\157\ACK\STX\EM\n\
    \\r\n\
    \\ENQ\EOTf\STX\SI\ENQ\DC2\EOT\157\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\SI\SOH\DC2\EOT\157\ACK\t\DC3\n\
    \\r\n\
    \\ENQ\EOTf\STX\SI\ETX\DC2\EOT\157\ACK\SYN\CAN\n\
    \\f\n\
    \\EOT\EOTf\STX\DLE\DC2\EOT\158\ACK\STX\FS\n\
    \\r\n\
    \\ENQ\EOTf\STX\DLE\ENQ\DC2\EOT\158\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\DLE\SOH\DC2\EOT\158\ACK\t\SYN\n\
    \\r\n\
    \\ENQ\EOTf\STX\DLE\ETX\DC2\EOT\158\ACK\EM\ESC\n\
    \K\n\
    \\EOT\EOTf\STX\DC1\DC2\EOT\159\ACK\STX\US\"= Using PParams as it's a superset of all protocol parameters\n\
    \\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC1\ACK\DC2\EOT\159\ACK\STX\t\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC1\SOH\DC2\EOT\159\ACK\n\
    \\EM\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC1\ETX\DC2\EOT\159\ACK\FS\RS\n\
    \\f\n\
    \\EOT\EOTf\STX\DC2\DC2\EOT\160\ACK\STX\GS\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC2\ENQ\DC2\EOT\160\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC2\SOH\DC2\EOT\160\ACK\t\ETB\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC2\ETX\DC2\EOT\160\ACK\SUB\FS\n\
    \\f\n\
    \\EOT\EOTf\STX\DC3\DC2\EOT\161\ACK\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC3\ENQ\DC2\EOT\161\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC3\SOH\DC2\EOT\161\ACK\t\DC4\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC3\ETX\DC2\EOT\161\ACK\ETB\EM\n\
    \\f\n\
    \\EOT\EOTf\STX\DC4\DC2\EOT\162\ACK\STX#\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC4\ENQ\DC2\EOT\162\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC4\SOH\DC2\EOT\162\ACK\t\GS\n\
    \\r\n\
    \\ENQ\EOTf\STX\DC4\ETX\DC2\EOT\162\ACK \"\n\
    \\f\n\
    \\EOT\EOTf\STX\NAK\DC2\EOT\163\ACK\STX\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX\NAK\ENQ\DC2\EOT\163\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\NAK\SOH\DC2\EOT\163\ACK\t\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX\NAK\ETX\DC2\EOT\163\ACK\CAN\SUB\n\
    \\f\n\
    \\EOT\EOTf\STX\SYN\DC2\EOT\164\ACK\STX\FS\n\
    \\r\n\
    \\ENQ\EOTf\STX\SYN\ENQ\DC2\EOT\164\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\SYN\SOH\DC2\EOT\164\ACK\t\SYN\n\
    \\r\n\
    \\ENQ\EOTf\STX\SYN\ETX\DC2\EOT\164\ACK\EM\ESC\n\
    \;\n\
    \\EOT\EOTf\STX\ETB\DC2\EOT\167\ACK\STX%\SUB- ============ Alonzo Era Fields ============\n\
    \\n\
    \\r\n\
    \\ENQ\EOTf\STX\ETB\ACK\DC2\EOT\167\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\ETB\SOH\DC2\EOT\167\ACK\t\US\n\
    \\r\n\
    \\ENQ\EOTf\STX\ETB\ETX\DC2\EOT\167\ACK\"$\n\
    \\f\n\
    \\EOT\EOTf\STX\CAN\DC2\EOT\168\ACK\STX!\n\
    \\r\n\
    \\ENQ\EOTf\STX\CAN\ACK\DC2\EOT\168\ACK\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTf\STX\CAN\SOH\DC2\EOT\168\ACK\v\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX\CAN\ETX\DC2\EOT\168\ACK\RS \n\
    \\f\n\
    \\EOT\EOTf\STX\EM\DC2\EOT\169\ACK\STX\US\n\
    \\r\n\
    \\ENQ\EOTf\STX\EM\ACK\DC2\EOT\169\ACK\STX\t\n\
    \\r\n\
    \\ENQ\EOTf\STX\EM\SOH\DC2\EOT\169\ACK\n\
    \\EM\n\
    \\r\n\
    \\ENQ\EOTf\STX\EM\ETX\DC2\EOT\169\ACK\FS\RS\n\
    \\f\n\
    \\EOT\EOTf\STX\SUB\DC2\EOT\170\ACK\STX\"\n\
    \\r\n\
    \\ENQ\EOTf\STX\SUB\ACK\DC2\EOT\170\ACK\STX\t\n\
    \\r\n\
    \\ENQ\EOTf\STX\SUB\SOH\DC2\EOT\170\ACK\n\
    \\FS\n\
    \\r\n\
    \\ENQ\EOTf\STX\SUB\ETX\DC2\EOT\170\ACK\US!\n\
    \\f\n\
    \\EOT\EOTf\STX\ESC\DC2\EOT\171\ACK\STX\GS\n\
    \\r\n\
    \\ENQ\EOTf\STX\ESC\ENQ\DC2\EOT\171\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\ESC\SOH\DC2\EOT\171\ACK\t\ETB\n\
    \\r\n\
    \\ENQ\EOTf\STX\ESC\ETX\DC2\EOT\171\ACK\SUB\FS\n\
    \\f\n\
    \\EOT\EOTf\STX\FS\DC2\EOT\172\ACK\STX$\n\
    \\r\n\
    \\ENQ\EOTf\STX\FS\ENQ\DC2\EOT\172\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\FS\SOH\DC2\EOT\172\ACK\t\RS\n\
    \\r\n\
    \\ENQ\EOTf\STX\FS\ETX\DC2\EOT\172\ACK!#\n\
    \\f\n\
    \\EOT\EOTf\STX\GS\DC2\EOT\173\ACK\STX$\n\
    \\r\n\
    \\ENQ\EOTf\STX\GS\ENQ\DC2\EOT\173\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\GS\SOH\DC2\EOT\173\ACK\t\RS\n\
    \\r\n\
    \\ENQ\EOTf\STX\GS\ETX\DC2\EOT\173\ACK!#\n\
    \\f\n\
    \\EOT\EOTf\STX\RS\DC2\EOT\174\ACK\STX \n\
    \\r\n\
    \\ENQ\EOTf\STX\RS\ACK\DC2\EOT\174\ACK\STX\SO\n\
    \\r\n\
    \\ENQ\EOTf\STX\RS\SOH\DC2\EOT\174\ACK\SI\SUB\n\
    \\r\n\
    \\ENQ\EOTf\STX\RS\ETX\DC2\EOT\174\ACK\GS\US\n\
    \;\n\
    \\EOT\EOTf\STX\US\DC2\EOT\177\ACK\STX\ESC\SUB- ============ Conway Era Fields ============\n\
    \\n\
    \\r\n\
    \\ENQ\EOTf\STX\US\ACK\DC2\EOT\177\ACK\STX\v\n\
    \\r\n\
    \\ENQ\EOTf\STX\US\SOH\DC2\EOT\177\ACK\f\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX\US\ETX\DC2\EOT\177\ACK\CAN\SUB\n\
    \\f\n\
    \\EOT\EOTf\STX \DC2\EOT\178\ACK\STX!\n\
    \\r\n\
    \\ENQ\EOTf\STX \ACK\DC2\EOT\178\ACK\STX\SO\n\
    \\r\n\
    \\ENQ\EOTf\STX \SOH\DC2\EOT\178\ACK\SI\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX \ETX\DC2\EOT\178\ACK\RS \n\
    \\f\n\
    \\EOT\EOTf\STX!\DC2\EOT\179\ACK\STX!\n\
    \\r\n\
    \\ENQ\EOTf\STX!\ENQ\DC2\EOT\179\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX!\SOH\DC2\EOT\179\ACK\t\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX!\ETX\DC2\EOT\179\ACK\RS \n\
    \\f\n\
    \\EOT\EOTf\STX\"\DC2\EOT\180\ACK\STX(\n\
    \\r\n\
    \\ENQ\EOTf\STX\"\ENQ\DC2\EOT\180\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX\"\SOH\DC2\EOT\180\ACK\t\"\n\
    \\r\n\
    \\ENQ\EOTf\STX\"\ETX\DC2\EOT\180\ACK%'\n\
    \\f\n\
    \\EOT\EOTf\STX#\DC2\EOT\181\ACK\STX\"\n\
    \\r\n\
    \\ENQ\EOTf\STX#\ENQ\DC2\EOT\181\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX#\SOH\DC2\EOT\181\ACK\t\FS\n\
    \\r\n\
    \\ENQ\EOTf\STX#\ETX\DC2\EOT\181\ACK\US!\n\
    \\f\n\
    \\EOT\EOTf\STX$\DC2\EOT\182\ACK\STX!\n\
    \\r\n\
    \\ENQ\EOTf\STX$\ACK\DC2\EOT\182\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX$\SOH\DC2\EOT\182\ACK\t\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX$\ETX\DC2\EOT\182\ACK\RS \n\
    \\f\n\
    \\EOT\EOTf\STX%\DC2\EOT\183\ACK\STX\ESC\n\
    \\r\n\
    \\ENQ\EOTf\STX%\ACK\DC2\EOT\183\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX%\SOH\DC2\EOT\183\ACK\t\NAK\n\
    \\r\n\
    \\ENQ\EOTf\STX%\ETX\DC2\EOT\183\ACK\CAN\SUB\n\
    \\f\n\
    \\EOT\EOTf\STX&\DC2\EOT\184\ACK\STX\FS\n\
    \\r\n\
    \\ENQ\EOTf\STX&\ENQ\DC2\EOT\184\ACK\STX\b\n\
    \\r\n\
    \\ENQ\EOTf\STX&\SOH\DC2\EOT\184\ACK\t\SYN\n\
    \\r\n\
    \\ENQ\EOTf\STX&\ETX\DC2\EOT\184\ACK\EM\ESC\n\
    \\f\n\
    \\EOT\EOTf\STX'\DC2\EOT\185\ACK\STX7\n\
    \\r\n\
    \\ENQ\EOTf\STX'\ACK\DC2\EOT\185\ACK\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTf\STX'\SOH\DC2\EOT\185\ACK\DC11\n\
    \\r\n\
    \\ENQ\EOTf\STX'\ETX\DC2\EOT\185\ACK46\n\
    \\f\n\
    \\EOT\EOTf\STX(\DC2\EOT\186\ACK\STX3\n\
    \\r\n\
    \\ENQ\EOTf\STX(\ACK\DC2\EOT\186\ACK\STX\SYN\n\
    \\r\n\
    \\ENQ\EOTf\STX(\SOH\DC2\EOT\186\ACK\ETB-\n\
    \\r\n\
    \\ENQ\EOTf\STX(\ETX\DC2\EOT\186\ACK02\n\
    \\f\n\
    \\EOT\EOTf\STX)\DC2\EOT\187\ACK\STX3\n\
    \\r\n\
    \\ENQ\EOTf\STX)\ACK\DC2\EOT\187\ACK\STX\SYN\n\
    \\r\n\
    \\ENQ\EOTf\STX)\SOH\DC2\EOT\187\ACK\ETB-\n\
    \\r\n\
    \\ENQ\EOTf\STX)\ETX\DC2\EOT\187\ACK02b\ACKproto3"